summaryrefslogtreecommitdiff
path: root/libjava/classpath/tools
diff options
context:
space:
mode:
authorgandalf <gandalf@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-12 15:55:12 +0000
committergandalf <gandalf@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-12 15:55:12 +0000
commitd8bc803082928434d39c7ab25b322f7066603de6 (patch)
treeed04a07a98f6d83830e25c996a838f7e5b3b109b /libjava/classpath/tools
parente67bda386ddfbe740ecbb7c336f76360a393386b (diff)
downloadgcc-d8bc803082928434d39c7ab25b322f7066603de6.tar.gz
GNU Classpath import (libgcj-snapshot-20100921).
2010-10-12 Andrew John Hughes <ahughes@redhat.com> Import GNU Classpath (libgcj-snapshot-20100921). * libjava/Makefile.in: Regenerated. * libjava/javax/swing/text/html/StyleSheet.h, * libjava/javax/swing/text/html/MinimalHTMLWriter.h, * libjava/javax/swing/text/html/HTMLWriter.h, * libjava/javax/xml/stream/XMLEventFactory.h, * libjava/javax/xml/stream/XMLOutputFactory.h, * libjava/javax/xml/stream/events/Namespace.h, * libjava/javax/xml/stream/util/StreamReaderDelegate.h, * libjava/javax/security/auth/kerberos/KeyImpl.h, * libjava/javax/security/auth/kerberos/KerberosTicket.h: Regenerated. * libjava/classpath/Makefile.in, * libjava/classpath/depcomp, * libjava/classpath/scripts/Makefile.in, * libjava/classpath/resource/Makefile.in, * libjava/classpath/tools/Makefile.in: Regenerated. Use libtool from top-level config directory. * libjava/classpath/tools/classes/gnu/classpath/tools/StringToolkit.class, * libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml.class, * libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml$State.class, * libjava/classpath/tools/classes/gnu/classpath/tools/IOToolkit.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$OptionProcessor.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportClassFile.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassComponent.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TagImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocProxy.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BlockSourceComponent.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DirectoryTree$FileNode.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/IgnoredFileParseException.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TextTagImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$Context.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/InheritDocTagImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FunctionComponent.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/AdditionExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/TypeCastExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/SubtractionExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Type.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/InclusiveOrExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NegateExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/GreaterThanExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantDouble.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/EqualExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantChar.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ExclusiveOrExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantBoolean.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalOrExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Evaluator.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/DivisionExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantInteger.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ShiftLeftExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantShort.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantLong.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalNotExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/GreaterThanOrEqualExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantByte.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalAndExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/MultiplicationExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/UnaryExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantFloat.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ModuloExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantString.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NotExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/UnknownIdentifierException.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/AndExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConditionalExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Context.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantNull.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BitShiftRightExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LessThanOrEqualExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ShiftRightExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LessThanExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/IdentifierExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/CircularExpressionException.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/IllegalExpressionException.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NotEqualExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantExpression.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportNotFound.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParamTagImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Timer.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourceComponent.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/CommentComponent.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportReflectionPackage.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/StaticBlockComponent.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ValueTagImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SeeTagImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ConstructorDocImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TemporaryStore.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportReflectionClass.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BracketClose.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParameterImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TypeImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ArrayCharacterIterator.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ScheduledClass.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldComponent.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportPackageFile.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SlashSlashCommentComponent.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ErrorReporter.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageComponent.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MemberDocImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DirectoryTree.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Debug.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MethodDocImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ProgramElementDocImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet$1.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ThrowsTagImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/EmptyStatementComponent.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/LinkTagImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/AbstractTagImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParseException.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Whitespace.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ImportComponent.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourcePositionImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/JavadocWrapper.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class, * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TypeVariableImpl.class, * libjava/classpath/tools/classes/gnu/classpath/tools/NotifyingInputStreamReader.class, * libjava/classpath/tools/classes/gnu/classpath/tools/javah/MethodHelper.class, * libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain.class, * libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniStubPrinter.class, * libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniIncludePrinter.class, * libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup.class, * libjava/classpath/tools/classes/gnu/classpath/tools/javah/Keywords.class, * libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniPrintStream.class, * libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniStubPrinter.class, * libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class, * libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniPrintStream.class, * libjava/classpath/tools/classes/gnu/classpath/tools/javah/ClassWrapper.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$3.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/HashFinder.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$4.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$5.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/WrapUnWrapper.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$6.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$7.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$8.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$9.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Generator.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/GiopIo.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/MethodGenerator.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RmiMethodGenerator.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceRmicCompiler.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/CompilationError.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$10.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$11.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$12.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$13.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$14.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$15.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$16.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$17.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$18.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RMICException.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$1.class, * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$2.class, * libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer.class, * libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$1.class, * libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$2.class, * libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$3.class, * libjava/classpath/tools/classes/gnu/classpath/tools/MalformedInputEvent.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/debugdoclet/DebugDoclet.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletConfigurationException.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$InterfaceRelation.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTag.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/TargetContext.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet$DocErrorReporterOutputStream.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$1.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$UsageType.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$NullErrorReporter.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer$TagInfo.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionColonSeparated.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTaglet.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionPackageWildcard.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$UsageType.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionString.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/CssClass.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlPage.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$TreeNode.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlTagletContext.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/InvalidPackageWildcardException.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionFlag.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageMatcher.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/StandardTaglet.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionFile.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOption.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$IndexKey.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionGroup.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTagletPath.class, * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageGroup.class, * libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader$JarStreamInfo.class, * libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader$FileStreamInfo.class, * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/CodeTaglet.class, * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/GenericTaglet.class, * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/ValueTaglet.class, * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/AuthorTaglet$EmailReplacement.class, * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/DeprecatedTaglet.class, * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/SinceTaglet.class, * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/AuthorTaglet.class, * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/TagletContext.class, * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/VersionTaglet.class, * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/CopyrightTaglet.class, * libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader.class, * libjava/classpath/tools/classes/com/sun/tools/javadoc/Main.class: Regenerated. * libjava/classpath/doc/Makefile.in, * libjava/classpath/doc/api/Makefile.in, * libjava/classpath/doc/texinfo.tex, * libjava/classpath/external/Makefile.in, * libjava/classpath/external/jsr166/Makefile.in, * libjava/classpath/external/sax/Makefile.in, * libjava/classpath/external/w3c_dom/Makefile.in, * libjava/classpath/external/relaxngDatatype/Makefile.in, * libjava/classpath/include/Makefile.in: Regenerated. * libjava/classpath/m4/lib-prefix.m4, * libjava/classpath/m4/lib-link.m4, * libjava/classpath/m4/lib-ld.m4: Removed. * libjava/classpath/native/jni/classpath/Makefile.in, * libjava/classpath/native/jni/gstreamer-peer/Makefile.in, * libjava/classpath/native/jni/midi-dssi/Makefile.in, * libjava/classpath/native/jni/Makefile.in, * libjava/classpath/native/jni/gconf-peer/Makefile.in, * libjava/classpath/native/jni/java-io/Makefile.in, * libjava/classpath/native/jni/native-lib/Makefile.in, * libjava/classpath/native/jni/native-lib/cpnet.c, * libjava/classpath/native/jni/java-util/Makefile.in, * libjava/classpath/native/jni/java-lang/Makefile.in, * libjava/classpath/native/jni/midi-alsa/Makefile.in, * libjava/classpath/native/jni/java-nio/Makefile.in, * libjava/classpath/native/jni/java-net/Makefile.in, * libjava/classpath/native/jni/java-math/Makefile.in, * libjava/classpath/native/jni/xmlj/Makefile.in, * libjava/classpath/native/jni/qt-peer/Makefile.in, * libjava/classpath/native/jni/gtk-peer/Makefile.in, * libjava/classpath/native/Makefile.in, * libjava/classpath/native/jawt/Makefile.in, * libjava/classpath/native/fdlibm/Makefile.in, * libjava/classpath/native/plugin/Makefile.in, * libjava/classpath/lib/java/util/regex/Matcher.class, * libjava/classpath/lib/java/util/TreeMap$3.class, * libjava/classpath/lib/java/util/Scanner.class, * libjava/classpath/lib/Makefile.in, * libjava/classpath/lib/org/omg/PortableServer/_ServantActivatorStub.class, * libjava/classpath/lib/org/omg/PortableServer/_ServantLocatorStub.class, * libjava/classpath/lib/org/omg/CORBA/portable/InputStream.class, * libjava/classpath/lib/org/omg/CORBA/portable/ObjectImpl.class, * libjava/classpath/lib/org/omg/CORBA/portable/Delegate.class, * libjava/classpath/lib/org/omg/CORBA/LocalObject.class, * libjava/classpath/lib/org/omg/CORBA_2_3/portable/InputStream.class, * libjava/classpath/lib/org/omg/CORBA_2_3/portable/OutputStream.class, * libjava/classpath/lib/org/omg/DynamicAny/_DynSequenceStub.class, * libjava/classpath/lib/org/omg/DynamicAny/_DynValueStub.class, * libjava/classpath/lib/org/omg/DynamicAny/_DynStructStub.class, * libjava/classpath/lib/org/omg/DynamicAny/_DynEnumStub.class, * libjava/classpath/lib/org/omg/DynamicAny/_DynArrayStub.class, * libjava/classpath/lib/org/omg/DynamicAny/_DynAnyFactoryStub.class, * libjava/classpath/lib/org/omg/DynamicAny/_DynAnyStub.class, * libjava/classpath/lib/org/omg/DynamicAny/_DynUnionStub.class, * libjava/classpath/lib/org/omg/DynamicAny/_DynFixedStub.class, * libjava/classpath/lib/org/ietf/jgss/GSSManager.class, * libjava/classpath/lib/gnu/xml/stream/NamespaceImpl.class, * libjava/classpath/lib/gnu/xml/stream/XIncludeFilter.class, * libjava/classpath/lib/gnu/xml/stream/FilteredStreamReader.class, * libjava/classpath/lib/gnu/xml/stream/XMLEventFactoryImpl.class, * libjava/classpath/lib/gnu/xml/stream/XMLEventAllocatorImpl.class, * libjava/classpath/lib/gnu/xml/stream/XMLStreamWriterImpl.class, * libjava/classpath/lib/gnu/java/locale/LocaleData.class, * libjava/classpath/lib/gnu/javax/swing/text/html/css/Selector.class, * libjava/classpath/lib/gnu/javax/print/ipp/IppRequest$RequestWriter.class, * libjava/classpath/lib/gnu/javax/print/ipp/IppResponse$ResponseReader.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/CharsetConfigured.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/DocumentFormat.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterUpTime.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/SidesSupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MultipleDocumentJobsSupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PageRangesSupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MediaSupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/OperationsSupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/GeneratedNaturalLanguageSupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/CharsetSupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/FinishingsSupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/CompressionSupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/SidesDefault.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/MediaDefault.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/CopiesDefault.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/UnknownAttribute.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/DetailedStatusMessage.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobPrinterUri.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/AttributesCharset.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobStateMessage.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobId.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobMoreInfo.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobUri.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/RequestedAttributes.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/StatusMessage.class, * libjava/classpath/lib/gnu/javax/print/ipp/attribute/DocumentAccessError.class, * libjava/classpath/lib/gnu/javax/print/ipp/IppUtilities.class, * libjava/classpath/lib/gnu/javax/print/ipp/IppPrintService.class, * libjava/classpath/lib/gnu/javax/print/ipp/IppResponse.class, * libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode.class, * libjava/classpath/lib/javax/swing/tree/VariableHeightLayoutCache.class, * libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class, * libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.class, * libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.class, * libjava/classpath/lib/javax/swing/tree/FixedHeightLayoutCache.class, * libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit.class, * libjava/classpath/lib/javax/swing/text/html/StyleSheet$BoxPainter.class, * libjava/classpath/lib/javax/swing/text/html/HTMLWriter.class, * libjava/classpath/lib/javax/swing/text/html/TableView$RowView.class, * libjava/classpath/lib/javax/swing/text/html/MultiAttributeSet$MultiNameEnumeration.class, * libjava/classpath/lib/javax/swing/text/html/MultiStyle.class, * libjava/classpath/lib/javax/swing/text/html/ImageView.class, * libjava/classpath/lib/javax/swing/text/html/TableView$CellView.class, * libjava/classpath/lib/javax/swing/text/html/MultiAttributeSet.class, * libjava/classpath/lib/javax/swing/text/html/ImageView$1.class, * libjava/classpath/lib/javax/swing/text/html/StyleSheet$ListPainter.class, * libjava/classpath/lib/javax/swing/text/html/TableView.class, * libjava/classpath/lib/javax/swing/text/html/StyleSheet.class, * libjava/classpath/lib/javax/swing/text/html/ObjectView.class, * libjava/classpath/lib/javax/swing/text/html/MinimalHTMLWriter.class, * libjava/classpath/lib/javax/swing/undo/UndoableEditSupport.class, * libjava/classpath/lib/javax/swing/undo/StateEdit.class, * libjava/classpath/lib/javax/xml/stream/XMLEventFactory.class, * libjava/classpath/lib/javax/xml/stream/events/Namespace.class, * libjava/classpath/lib/javax/xml/stream/XMLInputFactory.class, * libjava/classpath/lib/javax/xml/stream/util/StreamReaderDelegate.class, * libjava/classpath/lib/javax/xml/stream/XMLOutputFactory.class, * libjava/classpath/lib/javax/security/auth/kerberos/KerberosTicket.class, * libjava/classpath/lib/javax/security/auth/kerberos/KeyImpl.class, * libjava/classpath/missing, * libjava/classpath/aclocal.m4, * libjava/classpath/examples/Makefile.in, * libjava/classpath/install-sh, * libjava/gnu/xml/stream/FilteredStreamReader.h, * libjava/gnu/xml/stream/XMLStreamWriterImpl.h, * libjava/gnu/xml/stream/NamespaceImpl.h, * libjava/gnu/xml/stream/XIncludeFilter.h, * libjava/gnu/javax/swing/text/html/css/Selector.h, * libjava/gnu/javax/print/ipp/attribute/RequestedAttributes.h, * libjava/sources.am: Regenerated. 2010-05-27 Andrew John Hughes <ahughes@redhat.com> * configure.ac: Disable plugin by default and warn about unmaintained status when enabled. 2010-05-04 Andrew John Hughes <ahughes@redhat.com> * configure.ac: Call AC_PROG_JAVA_WORKS and AC_PROG_JAVAC_WORKS in place of AC_PROG_JAVA and AC_PROG_JAVAC respectively, as this is the real test we want. * m4/ac_prog_java.m4: (AC_PROG_JAVA): Don't include AC_PROG_JAVA_WORKS. * m4/ac_prog_java_works.m4: (AC_PROG_JAVA_WORKS): Require AC_PROG_JAVA and be defined only once. Require AC_PROG_JAVAC_WORKS for compilation of test class. Remove inclusion of AC_PROG_JAVAC. (AC_TRY_COMPILE_JAVA): Require AC_PROG_JAVAC_WORKS rather than AC_PROG_JAVAC. Be defined only once. * m4/ac_prog_javac.m: (AC_PROG_JAVAC): Be defined only once. Don't include AC_PROG_JAVAC_WORKS. * m4/ac_prog_javac_works.m4: (AC_PROG_JAVAC_WORKS): Be defined only once. Require AC_PROG_JAVAC. 2010-05-04 Andrew Haley <aph@redhat.com> * lib/gen-classlist.sh.in: Use absolute pathnames for all the directory names in the output file. 2010-05-04 Andrew John Hughes <ahughes@redhat.com> * m4/ac_prog_javac.m4: Capture all output from javac --version to avoid excess output. Make sure no appears when javac is not gcj. 2010-05-04 Andrew John Hughes <ahughes@redhat.com> * configure.ac: Add output to GMP directory detection and only perform when compiling GMP. 2010-05-04 Mike Stump <mikestump@comcast.net> * configure.ac: Allow prefix, libdir and includedir of GMP to be specified via --with-gmp, --with-gmp-include and --with-gmp-lib. 2010-04-28 Andrew John Hughes <ahughes@redhat.com> * gnu/javax/print/ipp/IppPrintService.java: (printerAttr): Add generic typing. (printServiceAttributeListener): Likewise. (flavors): Likewise. (printerUris): Likewise. (IppPrintService(URI uri, String username, String password)): Use generic types in initialising listener set. (getPrinterAttributes()): Add generic types. Remove cast. (getPrinterAttributeSet(Class<T>)): Return a set containing attributes of type T. Now creates a new set and checks that all elements of the original set can be cast and added to this new set. (getPrinterDefaultAttribute(Class<? extends Attribute>)): Add generic types. (processResponse()): Add generic types. (getAttribute(Class<T>)): Use generic types corresponding to parent interface. (getSupportedAttributeCategories()): Use generic types. (getSupportedAttributeValues()): Likewise. (handleSupportedAttributeValuesResponse(IppResponse,Class<? extends Attribute>)): Likewise. (isAttributeCategorySupported(Class<? extends Attribute>)): Likewise. * gnu/javax/print/ipp/IppResponse.java: (parseResponse(InputStream)): Use generic types. (parseAttributes(Map<Class<? extends Attribute>, Set<Attribute>, DataInputStream)): Likewise. (addAttribute(Map<Class<? extends Attribute>, Set<Attribute>>, Attribute): Likewise. (IppResponse(URI, short)): Create lists with appropriate type parameters. (getJobAttributes()): Use generic return type. (getOperationAttributes()): Likewise. (getPrinterAttributes()): Likewise. (getUnsupportedAttributes()): Likewise. * gnu/javax/print/ipp/attribute/supported/CompressionSupported.java: (getAssociatedAttributeArray(Set<Attribute>)): Use superclass Attribute as set type parameter and cast when looping over it. * gnu/javax/print/ipp/attribute/supported/FinishingsSupported.java, (getAssociatedAttributeArray(Set<Attribute>)): Use superclass Attribute as set type parameter and cast when looping over it. * gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.java, (getAssociatedAttributeArray(Set<Attribute>)): Use superclass Attribute as set type parameter and cast when looping over it. * gnu/javax/print/ipp/attribute/supported/MediaSupported.java, (getAssociatedAttributeArray(Set<Attribute>)): Use superclass Attribute as set type parameter and cast when looping over it. * gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.java, (getAssociatedAttributeArray(Set<Attribute>)): Use superclass Attribute as set type parameter and cast when looping over it. * gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.java, (getAssociatedAttributeArray(Set<Attribute>)): Use superclass Attribute as set type parameter and cast when looping over it. * gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.java, (getAssociatedAttributeArray(Set<Attribute>)): Use superclass Attribute as set type parameter and cast when looping over it. * gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.java, (getAssociatedAttributeArray(Set<Attribute>)): Use superclass Attribute as set type parameter and cast when looping over it. 2010-04-28 Andrew John Hughes <ahughes@redhat.com> * gnu/javax/print/ipp/IppUtilities.java: (INTEGER_CLASS_ARRAY): Use generic typing. (TEXT_CLASS_ARRAY): Likewise. (classesByName): Likewise. (instanceByClass): Likewise. (getClass(String)): Remove cast. Return generic type. (getSupportedAttrName(Class<? extends Attribute>)): Remove cast. Add generic type to parameter. (getSupportedCategory(Class<?> extends Attribute>)): Likewise. (getEnumAttribute(String,Object)): Add missing generic types on Class. (getIntegerAttribute(String,int)): Likewise and on Constructor. (getTextAttribute(String,byte,byte[])): Likewise. 2010-04-27 Andrew John Hughes <ahughes@redhat.com> * gnu/javax/print/ipp/IppRequest.java: (write(RequestedAttributes)): Fix for change in return value of RequestedAttributes.getValues(). * gnu/javax/print/ipp/attribute/DetailedStatusMessage.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/DocumentAccessError.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/RequestedAttributes.java: (RequestedAttributes()): Use appropriate generic type with attributes ArrayList. (getValues()): Return an array-based snapshot of the current state of attributes rather than providing direct mutable access to it. * gnu/javax/print/ipp/attribute/StatusMessage.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/UnknownAttribute.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/defaults/CopiesDefault.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/defaults/MediaDefault.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/defaults/SidesDefault.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/job/AttributesCharset.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/job/JobId.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/job/JobMoreInfo.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/job/JobPrinterUri.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/job/JobStateMessage.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/job/JobUri.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/printer/CharsetConfigured.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/printer/DocumentFormat.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.java: (getCategory()): Fix return value. * gnu/javax/print/ipp/attribute/printer/PrinterUpTime.java: (getCategory()): Fix return value. 2010-04-27 Andrew John Hughes <ahughes@redhat.com> * gnu/javax/print/CupsIppOperation.java, * gnu/javax/print/CupsMediaMapping.java, * gnu/javax/print/CupsPrintService.java, * gnu/javax/print/CupsPrintServiceLookup.java, * gnu/javax/print/CupsServer.java, * gnu/javax/print/PrintAttributeException.java, * gnu/javax/print/PrintFlavorException.java, * gnu/javax/print/PrintUriException.java, * gnu/javax/print/PrinterDialog.java, * gnu/javax/print/ipp/DocPrintJobImpl.java, * gnu/javax/print/ipp/IppDelimiterTag.java, * gnu/javax/print/ipp/IppException.java, * gnu/javax/print/ipp/IppMultiDocPrintService.java, * gnu/javax/print/ipp/IppRequest.java, * gnu/javax/print/ipp/IppResponse.java, * gnu/javax/print/ipp/IppStatusCode.java, * gnu/javax/print/ipp/IppUtilities.java, * gnu/javax/print/ipp/IppValueTag.java, * gnu/javax/print/ipp/MultiDocPrintJobImpl.java, * gnu/javax/print/ipp/attribute/CharsetSyntax.java, * gnu/javax/print/ipp/attribute/DefaultValueAttribute.java, * gnu/javax/print/ipp/attribute/DetailedStatusMessage.java, * gnu/javax/print/ipp/attribute/DocumentAccessError.java, * gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.java, * gnu/javax/print/ipp/attribute/RequestedAttributes.java, * gnu/javax/print/ipp/attribute/StatusMessage.java, * gnu/javax/print/ipp/attribute/UnknownAttribute.java, * gnu/javax/print/ipp/attribute/defaults/CopiesDefault.java, * gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.java, * gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.java, * gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.java, * gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.java, * gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.java, * gnu/javax/print/ipp/attribute/defaults/MediaDefault.java, * gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.java, * gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.java, * gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.java, * gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.java, * gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.java, * gnu/javax/print/ipp/attribute/defaults/SidesDefault.java, * gnu/javax/print/ipp/attribute/job/AttributesCharset.java, * gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.java, * gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.java, * gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.java, * gnu/javax/print/ipp/attribute/job/JobId.java, * gnu/javax/print/ipp/attribute/job/JobMoreInfo.java, * gnu/javax/print/ipp/attribute/job/JobPrinterUri.java, * gnu/javax/print/ipp/attribute/job/JobStateMessage.java, * gnu/javax/print/ipp/attribute/job/JobUri.java, * gnu/javax/print/ipp/attribute/printer/CharsetConfigured.java, * gnu/javax/print/ipp/attribute/printer/DocumentFormat.java, * gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.java, * gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.java, * gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.java, * gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.java, * gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.java, * gnu/javax/print/ipp/attribute/printer/PrinterUpTime.java: Normalise whitespace; replace tabs with spaces and removing trailing whitespace. 2010-04-27 Andrew John Hughes <ahughes@redhat.com> * gnu/javax/print/ipp/IppPrintService.java: Fix whitespace. Use correct generic type for printerAttr map. (getPrinterAttributeSet(Class<? extends Attribute>)): Add appropriate generic type. * gnu/javax/print/ipp/attribute/supported/CharsetSupported.java: Fix whitespace. (getCategory()): Fix return type. * gnu/javax/print/ipp/attribute/supported/CompressionSupported.java: Fix whitespace. (getCategory()): Fix return type. (getAssociatedAttributeArray(Set<CompressionSupported>)): Add generic type to set and use for-each loop. * gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.java: Fix whitespace. (getCategory()): Fix return type. * gnu/javax/print/ipp/attribute/supported/FinishingsSupported.java: Fix whitespace. (getCategory()): Fix return type. (getAssociatedAttributeArray(Set<FinishingsSupported>)): Add generic type to set and use for-each loop. * gnu/javax/print/ipp/attribute/supported/GeneratedNaturalLanguageSupported.java: Fix whitespace. (getCategory()): Fix return type. * gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.java: Fix whitespace. (getCategory()): Fix return type. * gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.java: Fix whitespace. (getCategory()): Fix return type. * gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.java: Fix whitespace. (getCategory()): Fix return type. (getAssociatedAttributeArray(Set<JobSheetsSupported>)): Add generic type to set and use for-each loop. * gnu/javax/print/ipp/attribute/supported/MediaSupported.java: Fix whitespace. (getCategory()): Fix return type. (getAssociatedAttributeArray(Set<MediaSupported>)): Add generic type to set and use for-each loop. * gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.java: Fix whitespace. (getCategory()): Fix return type. (getAssociatedAttributeArray(Set<MultipleDocumentHandlingSupported>)): Add generic type to set and use for-each loop. * gnu/javax/print/ipp/attribute/supported/MultipleDocumentJobsSupported.java, Fix whitespace. (getCategory()): Fix return type. * gnu/javax/print/ipp/attribute/supported/OperationsSupported.java, Fix whitespace. (getCategory()): Fix return type. * gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.java, Fix whitespace. (getCategory()): Fix return type. (getAssociatedAttributeArray(Set<OrientationRequestedSupported>)): Add generic type to set and use for-each loop. * gnu/javax/print/ipp/attribute/supported/PageRangesSupported.java, Fix whitespace. (getCategory()): Fix return type. * gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.java, Fix whitespace. (getCategory()): Fix return type. (getAssociatedAttributeArray(Set<PrintQualitySupported>)): Add generic type to set and use for-each loop. * gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.java, Fix whitespace. (getCategory()): Fix return type. (getAssociatedAttributeArray(Set<PrinterResolutionSupported>)): Add generic type to set and use for-each loop. * gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.java, Fix whitespace. (getCategory()): Fix return type. * gnu/javax/print/ipp/attribute/supported/SidesSupported.java, Fix whitespace. (getCategory()): Fix return type. * gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.java, Fix whitespace. (getCategory()): Fix return type. * gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.java, Fix whitespace. (getCategory()): Fix return type. 2010-04-27 Andrew Haley <aph@redhat.com> * java/util/concurrent/CopyOnWriteArrayList.java: Fix for empty list. 2010-04-27 Andrew Haley <aph@redhat.com> * gnu/javax/print/ipp/IppResponse.java (parseAttributes): Handle IppValueTag.UNKNOWN. * gnu/javax/print/ipp/IppRequest.java (writeOperationAttributes): Handle RequestedAttributes. * gnu/javax/print/ipp/IppPrintService.java (processResponse): Add DocFlavor.SERVICE_FORMATTED.PAGEABLE and DocFlavor.SERVICE_FORMATTED.PRINTABLE. 2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> PR libgcj/38251 * tools/Makefile.am (dist-hook): Prune .svn directories in asm and classes copies. * tools/Makefile.in: Regenerate. Revert: 2008-11-05 Andrew Haley <aph@redhat.com> * tools/Makefile.am (UPDATE_TOOLS_ZIP, CREATE_TOOLS_ZIP): Exclude .svn direcories. 2010-01-30 Andrew John Hughes <ahughes@redhat.com> * doc/www.gnu.org/home.wml: Add newer JAPI results. 2010-01-30 Andrew John Hughes <ahughes@redhat.com> PR classpath/41686 * javax/security/auth/kerberos/KerberosTicket.java: Fix formatting. (toString()): Add full implementation. (getSessionKeyType()): Implemented. * javax/security/auth/kerberos/KeyImpl.java: (toString()): Implemented. 2010-01-30 Andrew John Hughes <ahughes@redhat.com> * autogen.sh: Allow libtool 2.* through. * configure.ac: Updated via autoupdate. * m4/lib-ld.m4, * m4/lib-link.m4, * m4/lib-prefix.m4: Drop old libtool macros which result in build failure. 2010-01-18 Andreas Tobler <andreast@fgznet.ch> * tools/Makefile.am (GJDOC_EX): Use find -name pattern -prune -o. * tools/Makefile.in: Regenerate. 2010-01-12 Jeroen Frijters <jeroen@frijters.net> * java/util/zip/Inflater. java (inflate(byte[],int,int)): Fix for #41696. 2009-11-18 Andrew Haley <aph@redhat.com> * java/util/TreeMap.java (anonymous class.size()): Debogosify. anonymous class.clear(): Likewise. 2009-10-22 Andrew Haley <aph@redhat.com> * native/jni/native-lib/cpnet.c (cpnet_addMembership): Fix aliasing warning. (cpnet_dropMembership): Likewise. 2009-10-22 Richard Guenther <rguenther@suse.de> PR cp-tools/39177 * tools/gnu/classpath/tools/jar/Creator.java (writeCommandLineEntries): Do not use uninitialized manifest. * tools/classes/gnu/classpath/tools/jar/Creator.class: Re-generated. 2009-07-08 Chris Burdess <dog@gnu.org> PR xml/40663: * javax/xml/stream/XMLEventFactory.java, * javax/xml/stream/XMLInputFactory.java, * javax/xml/stream/XMLOutputFactory.java, * javax/xml/stream/events/Namespace.java: Update API to match final version of StAX. * javax/xml/stream/util/ReaderDelegate.java: Removed. * javax/xml/stream/util/StreamReaderDelegate.java: Added (renamed from ReaderDelegate) * gnu/xml/stream/FilteredStreamReader.java, * gnu/xml/stream/NamespaceImpl.java, * gnu/xml/stream/XIncludeFilter.java, * gnu/xml/stream/XMLEventAllocatorImpl.java, * gnu/xml/stream/XMLEventFactoryImpl.java: Update implementation to match final version of StAX API. 2009-07-06 Ludovic Claude <ludovic.claude@laposte.net> PR xml/40653: * gnu/xml/stream/XMLStreamWriterImpl.java: Weaken testing of namespace prefix to match reference implementation and spec. 2009-07-07 Andrew John Hughes <ahughes@redhat.com> PR classpath/40630 * java/util/Scanner.java: (myCoreNext(boolean, Pattern)): Set tmp2 to null if the string is empty (i.e. we are at the end of the file). * java/util/regex/Matcher.java: (toMatchResult()): Check that match is non-null before attempting to clone it. 2009-07-07 Andrew John Hughes <ahughes@redhat.com> * java/util/Scanner.java, * java/util/regex/Matcher.java: Replace tab characters with spaces. 2009-03-29 Mark Wielaard <mark@klomp.org> * doc/www.gnu.org/faq/faq.wml: Fix link to cp-hacking.html. 2009-03-29 Mark Wielaard <mark@klomp.org> * m4/ac_prog_antlr.m4: Check whether ANTLR_JAR is empty. 2009-03-26 Andrew John Hughes <ahughes@redhat.com> PR classpath/39408: * tools/gnu/classpath/tools/javah/ClassWrapper.java: (linkSupers()): Make package-private. * tools/gnu/classpath/tools/javah/JniIncludePrinter.java: (writeFields(ClassWrapper, JniPrintStream)): Link in data from superclass before searching for fields. 2009-03-20 Andrew John Hughes <ahughes@redhat.com> * tools/gnu/classpath/tools/javah/ClassWrapper.java, * tools/gnu/classpath/tools/javah/CniPrintStream.java, * tools/gnu/classpath/tools/javah/CniStubPrinter.java, * tools/gnu/classpath/tools/javah/GcjhMain.java, * tools/gnu/classpath/tools/javah/JniIncludePrinter.java, * tools/gnu/classpath/tools/javah/JniPrintStream.java, * tools/gnu/classpath/tools/javah/JniStubPrinter.java, * tools/gnu/classpath/tools/javah/Keywords.java, * tools/gnu/classpath/tools/javah/Main.java, * tools/gnu/classpath/tools/javah/MethodHelper.java, * tools/gnu/classpath/tools/javah/PathOptionGroup.java: Fix generic issues in gjavah. 2009-03-17 Andrew John Hughes <ahughes@redhat.com> * tools/gnu/classpath/tools/FileSystemClassLoader.java, * tools/gnu/classpath/tools/doclets/xmldoclet/Driver.java, * tools/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.java, * tools/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.java, * tools/gnu/classpath/tools/doclets/xmldoclet/TargetContext.java, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.java, * tools/gnu/classpath/tools/gjdoc/ErrorReporter.java, * tools/gnu/classpath/tools/gjdoc/TemporaryStore.java, * tools/gnu/classpath/tools/gjdoc/WritableType.java, * tools/gnu/classpath/tools/taglets/AuthorTaglet.java, * tools/gnu/classpath/tools/taglets/CopyrightTaglet.java, * tools/gnu/classpath/tools/taglets/DeprecatedTaglet.java, * tools/gnu/classpath/tools/taglets/GenericTaglet.java, * tools/gnu/classpath/tools/taglets/SinceTaglet.java, * tools/gnu/classpath/tools/taglets/VersionTaglet.java: Switch to UNIX line endings. 2009-03-17 Andrew John Hughes <ahughes@redhat.com> * tools/com/sun/tools/javadoc/Main.java, * tools/gnu/classpath/tools/FileSystemClassLoader.java, * tools/gnu/classpath/tools/IOToolkit.java, * tools/gnu/classpath/tools/MalformedInputEvent.java, * tools/gnu/classpath/tools/MalformedInputListener.java, * tools/gnu/classpath/tools/NotifyingInputStreamReader.java, * tools/gnu/classpath/tools/StringToolkit.java, * tools/gnu/classpath/tools/doclets/AbstractDoclet.java, * tools/gnu/classpath/tools/doclets/DocletConfigurationException.java, * tools/gnu/classpath/tools/doclets/DocletOption.java, * tools/gnu/classpath/tools/doclets/DocletOptionColonSeparated.java, * tools/gnu/classpath/tools/doclets/DocletOptionFile.java, * tools/gnu/classpath/tools/doclets/DocletOptionFlag.java, * tools/gnu/classpath/tools/doclets/DocletOptionPackageWildcard.java, * tools/gnu/classpath/tools/doclets/DocletOptionString.java, * tools/gnu/classpath/tools/doclets/InlineTagRenderer.java, * tools/gnu/classpath/tools/doclets/InvalidPackageWildcardException.java, * tools/gnu/classpath/tools/doclets/PackageGroup.java, * tools/gnu/classpath/tools/doclets/PackageMatcher.java, * tools/gnu/classpath/tools/doclets/StandardTaglet.java, * tools/gnu/classpath/tools/doclets/TagletPrinter.java, * tools/gnu/classpath/tools/doclets/debugdoclet/DebugDoclet.java, * tools/gnu/classpath/tools/doclets/htmldoclet/CssClass.java, * tools/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.java, * tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java, * tools/gnu/classpath/tools/doclets/htmldoclet/HtmlPage.java, * tools/gnu/classpath/tools/doclets/htmldoclet/HtmlTagletContext.java, * tools/gnu/classpath/tools/doclets/xmldoclet/Driver.java, * tools/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.java, * tools/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.java, * tools/gnu/classpath/tools/doclets/xmldoclet/TargetContext.java, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.java, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.java, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.java, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.java, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.java, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.java, * tools/gnu/classpath/tools/gjdoc/AbstractTagImpl.java, * tools/gnu/classpath/tools/gjdoc/ArrayCharacterIterator.java, * tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java, * tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java, * tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java, * tools/gnu/classpath/tools/gjdoc/ConstructorDocImpl.java, * tools/gnu/classpath/tools/gjdoc/Debug.java, * tools/gnu/classpath/tools/gjdoc/DirectoryTree.java, * tools/gnu/classpath/tools/gjdoc/DocImpl.java, * tools/gnu/classpath/tools/gjdoc/ErrorReporter.java, * tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java, * tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java, * tools/gnu/classpath/tools/gjdoc/GjdocPackageDoc.java, * tools/gnu/classpath/tools/gjdoc/GjdocRootDoc.java, * tools/gnu/classpath/tools/gjdoc/InheritDocTagImpl.java, * tools/gnu/classpath/tools/gjdoc/JavadocWrapper.java, * tools/gnu/classpath/tools/gjdoc/LinkTagImpl.java, * tools/gnu/classpath/tools/gjdoc/Main.java, * tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java, * tools/gnu/classpath/tools/gjdoc/MethodDocImpl.java, * tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java, * tools/gnu/classpath/tools/gjdoc/ParamTagImpl.java, * tools/gnu/classpath/tools/gjdoc/ParameterImpl.java, * tools/gnu/classpath/tools/gjdoc/ParseException.java, * tools/gnu/classpath/tools/gjdoc/Parser.java, * tools/gnu/classpath/tools/gjdoc/ProgramElementDocImpl.java, * tools/gnu/classpath/tools/gjdoc/RootDocImpl.java, * tools/gnu/classpath/tools/gjdoc/SeeTagImpl.java, * tools/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.java, * tools/gnu/classpath/tools/gjdoc/SourcePositionImpl.java, * tools/gnu/classpath/tools/gjdoc/TagContainer.java, * tools/gnu/classpath/tools/gjdoc/TagImpl.java, * tools/gnu/classpath/tools/gjdoc/TemporaryStore.java, * tools/gnu/classpath/tools/gjdoc/TextTagImpl.java, * tools/gnu/classpath/tools/gjdoc/ThrowsTagImpl.java, * tools/gnu/classpath/tools/gjdoc/Timer.java, * tools/gnu/classpath/tools/gjdoc/TimerDoclet.java, * tools/gnu/classpath/tools/gjdoc/TypeImpl.java, * tools/gnu/classpath/tools/gjdoc/TypeVariableImpl.java, * tools/gnu/classpath/tools/gjdoc/ValueTagImpl.java, * tools/gnu/classpath/tools/gjdoc/WritableType.java, * tools/gnu/classpath/tools/gjdoc/expr/AdditionExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/AndExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BitShiftRightExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/CircularExpressionException.java, * tools/gnu/classpath/tools/gjdoc/expr/ConditionalExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantBoolean.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantByte.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantChar.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantDouble.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantFloat.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantInteger.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantLong.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantNull.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantShort.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantString.java, * tools/gnu/classpath/tools/gjdoc/expr/Context.java, * tools/gnu/classpath/tools/gjdoc/expr/DivisionExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/EqualExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java, * tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java, * tools/gnu/classpath/tools/gjdoc/expr/ExclusiveOrExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/Expression.java, * tools/gnu/classpath/tools/gjdoc/expr/GreaterThanExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/GreaterThanOrEqualExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/IdentifierExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/IllegalExpressionException.java, * tools/gnu/classpath/tools/gjdoc/expr/InclusiveOrExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/LessThanExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/LessThanOrEqualExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/LogicalAndExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/LogicalNotExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/LogicalOrExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/ModuloExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/MultiplicationExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/NegateExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/NotEqualExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/NotExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/ShiftLeftExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/ShiftRightExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/SubtractionExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/Type.java, * tools/gnu/classpath/tools/gjdoc/expr/TypeCastExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/UnaryExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/UnknownIdentifierException.java, * tools/gnu/classpath/tools/java2xhtml/Java2xhtml.java, * tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java, * tools/gnu/classpath/tools/rmic/CompilationError.java, * tools/gnu/classpath/tools/rmic/Generator.java, * tools/gnu/classpath/tools/rmic/GiopIo.java, * tools/gnu/classpath/tools/rmic/HashFinder.java, * tools/gnu/classpath/tools/rmic/Main.java, * tools/gnu/classpath/tools/rmic/MethodGenerator.java, * tools/gnu/classpath/tools/rmic/RMICException.java, * tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java, * tools/gnu/classpath/tools/rmic/RmicBackend.java, * tools/gnu/classpath/tools/rmic/SourceRmicCompiler.java, * tools/gnu/classpath/tools/rmic/Variables.java, * tools/gnu/classpath/tools/rmic/WrapUnWrapper.java, * tools/gnu/classpath/tools/serialver/SerialVer.java, * tools/gnu/classpath/tools/taglets/AuthorTaglet.java, * tools/gnu/classpath/tools/taglets/CodeTaglet.java, * tools/gnu/classpath/tools/taglets/CopyrightTaglet.java, * tools/gnu/classpath/tools/taglets/DeprecatedTaglet.java, * tools/gnu/classpath/tools/taglets/GenericTaglet.java, * tools/gnu/classpath/tools/taglets/GnuExtendedTaglet.java, * tools/gnu/classpath/tools/taglets/SinceTaglet.java, * tools/gnu/classpath/tools/taglets/TagletContext.java, * tools/gnu/classpath/tools/taglets/ValueTaglet.java, * tools/gnu/classpath/tools/taglets/VersionTaglet.java: Fix license headers to GPLv2+Classpath exception. 2009-03-09 Andrew John Hughes <ahughes@redhat.com> * gnu/javax/swing/text/html/css/Selector.java: Use CPStringBuilder. Use typed list of maps rather than an array for type safety. * javax/swing/text/html/HTMLEditorKit.java, * javax/swing/text/html/HTMLWriter.java: Add generic typing where appropriate. * javax/swing/text/html/ImageView.java: Remove unused AttributeSet variables. * javax/swing/text/html/MinimalHTMLWriter.java: Switch to an ArrayDeque to avoid unnecessary internal synchronisation on a private variable. Add generic typing. * javax/swing/text/html/MultiAttributeSet.java: Add generic typing. * javax/swing/text/html/MultiStyle.java: Add generic typing, make class package-private as not part of the standard classes. * javax/swing/text/html/ObjectView.java, * javax/swing/text/html/StyleSheet.java: Add generic typing. * javax/swing/text/html/TableView.java: Remove unused variable. * javax/swing/tree/DefaultMutableTreeNode.java: Add generic typing, mute warnings where necessary. * javax/swing/tree/FixedHeightLayoutCache.java: Add generic typing. * javax/swing/tree/TreeNode.java: Mute warnings where necessary. * javax/swing/tree/VariableHeightLayoutCache.java, * javax/swing/undo/StateEdit.java, * javax/swing/undo/UndoableEditSupport.java, * org/ietf/jgss/GSSManager.java: Add generic typing. 2009-02-14 Andrew John Hughes <ahughes@redhat.com> * org/omg/CORBA/LocalObject.java, * org/omg/CORBA/portable/Delegate.java, * org/omg/CORBA/portable/InputStream.java, * org/omg/CORBA/portable/ObjectImpl.java, * org/omg/CORBA_2_3/portable/InputStream.java, * org/omg/CORBA_2_3/portable/OutputStream.java, * org/omg/DynamicAny/_DynAnyFactoryStub.java, * org/omg/DynamicAny/_DynAnyStub.java, * org/omg/DynamicAny/_DynArrayStub.java, * org/omg/DynamicAny/_DynEnumStub.java, * org/omg/DynamicAny/_DynFixedStub.java, * org/omg/DynamicAny/_DynSequenceStub.java, * org/omg/DynamicAny/_DynStructStub.java, * org/omg/DynamicAny/_DynUnionStub.java, * org/omg/DynamicAny/_DynValueStub.java, * org/omg/PortableServer/_ServantActivatorStub.java, * org/omg/PortableServer/_ServantLocatorStub.java: Turn off warnings where Class is used; forced to use raw type for API compatibility. 2009-02-06 Andrew John Hughes <ahughes@redhat.com> * NEWS: Add stub for 0.99. * configure.ac: Bump to 0.99. * doc/www.gnu.org/announce/20090205.wml, * doc/www.gnu.org/downloads/downloads.wml, * doc/www.gnu.org/newsitems.txt: Update website. 2009-02-05 Andrew John Hughes <ahughes@redhat.com> * NEWS: Add VM updates. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165383 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/classpath/tools')
-rw-r--r--libjava/classpath/tools/Makefile.in7
-rw-r--r--libjava/classpath/tools/classes/com/sun/tools/javadoc/Main.classbin453 -> 453 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader$FileStreamInfo.classbin1086 -> 1086 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader$JarStreamInfo.classbin1741 -> 1741 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader.classbin6253 -> 6253 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/IOToolkit.classbin3753 -> 3753 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/MalformedInputEvent.classbin1267 -> 1267 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/NotifyingInputStreamReader.classbin5878 -> 5878 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/StringToolkit.classbin1124 -> 1124 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionGroup.classbin2075 -> 2075 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTag.classbin3296 -> 3296 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTaglet.classbin4359 -> 4359 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTagletPath.classbin955 -> 955 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$IndexKey.classbin1129 -> 1129 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$InterfaceRelation.classbin663 -> 663 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$UsageType.classbin1848 -> 1848 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.classbin27182 -> 27182 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletConfigurationException.classbin432 -> 432 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOption.classbin575 -> 575 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionColonSeparated.classbin1139 -> 1139 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionFile.classbin962 -> 962 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionFlag.classbin755 -> 755 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionPackageWildcard.classbin2108 -> 2108 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionString.classbin776 -> 776 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/InvalidPackageWildcardException.classbin437 -> 437 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageGroup.classbin698 -> 698 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageMatcher.classbin2907 -> 2907 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/StandardTaglet.classbin1341 -> 1341 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/debugdoclet/DebugDoclet.classbin4081 -> 4081 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/CssClass.classbin14612 -> 14612 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.classbin3836 -> 3836 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.classbin1205 -> 1205 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.classbin1207 -> 1207 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.classbin1401 -> 1401 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$TreeNode.classbin1088 -> 1088 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.classbin79930 -> 79930 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlPage.classbin12297 -> 12297 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlTagletContext.classbin876 -> 876 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$1.classbin935 -> 935 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$NullErrorReporter.classbin793 -> 793 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$UsageType.classbin1537 -> 1537 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver.classbin52598 -> 52598 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.classbin955 -> 955 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer$TagInfo.classbin1043 -> 1043 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.classbin10463 -> 10463 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/TargetContext.classbin1172 -> 1172 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet$DocErrorReporterOutputStream.classbin1093 -> 1093 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.classbin14435 -> 14435 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.classbin774 -> 774 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.classbin1218 -> 1218 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.classbin865 -> 865 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.classbin2127 -> 2127 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.classbin1467 -> 1467 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/AbstractTagImpl.classbin2825 -> 2825 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ArrayCharacterIterator.classbin1762 -> 1762 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BlockSourceComponent.classbin629 -> 629 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BracketClose.classbin862 -> 862 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassComponent.classbin2610 -> 2610 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.classbin25782 -> 25782 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocProxy.classbin7577 -> 7577 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.classbin8685 -> 8685 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/CommentComponent.classbin1517 -> 1517 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ConstructorDocImpl.classbin757 -> 757 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Debug.classbin1447 -> 1447 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DirectoryTree$FileNode.classbin943 -> 943 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DirectoryTree.classbin1226 -> 1226 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.classbin19116 -> 19116 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/EmptyStatementComponent.classbin612 -> 612 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ErrorReporter.classbin1660 -> 1660 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.classbin9289 -> 9289 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldComponent.classbin3110 -> 3110 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.classbin8266 -> 8266 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FunctionComponent.classbin2992 -> 2992 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/IgnoredFileParseException.classbin357 -> 357 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ImportComponent.classbin1226 -> 1226 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/InheritDocTagImpl.classbin1838 -> 1838 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/JavadocWrapper.classbin960 -> 960 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/LinkTagImpl.classbin918 -> 918 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.classbin825 -> 825 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.classbin1221 -> 1221 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.classbin1728 -> 1728 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.classbin1799 -> 1799 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.classbin1800 -> 1800 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.classbin1002 -> 1002 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.classbin924 -> 924 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.classbin1715 -> 1715 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.classbin828 -> 828 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.classbin809 -> 809 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.classbin809 -> 809 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.classbin767 -> 767 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.classbin1382 -> 1382 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.classbin1401 -> 1401 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.classbin809 -> 809 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.classbin809 -> 809 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.classbin809 -> 809 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.classbin809 -> 809 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.classbin767 -> 767 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.classbin767 -> 767 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.classbin767 -> 767 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.classbin806 -> 806 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.classbin825 -> 825 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.classbin825 -> 825 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.classbin806 -> 806 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$OptionProcessor.classbin727 -> 727 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.classbin29338 -> 29338 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MemberDocImpl.classbin5337 -> 5337 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MethodDocImpl.classbin1247 -> 1247 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageComponent.classbin1142 -> 1142 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.classbin5798 -> 5798 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParamTagImpl.classbin1368 -> 1368 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParameterImpl.classbin1682 -> 1682 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParseException.classbin463 -> 463 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.classbin1669 -> 1669 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$Context.classbin1209 -> 1209 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.classbin13190 -> 13190 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ProgramElementDocImpl.classbin3566 -> 3566 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportClassFile.classbin3100 -> 3100 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportNotFound.classbin1664 -> 1664 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportPackageFile.classbin3932 -> 3932 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportReflectionClass.classbin1980 -> 1980 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportReflectionPackage.classbin2039 -> 2039 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ScheduledClass.classbin1036 -> 1036 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl.classbin20655 -> 20655 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SeeTagImpl.classbin4114 -> 4114 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.classbin2862 -> 2862 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SlashSlashCommentComponent.classbin556 -> 556 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourceComponent.classbin787 -> 787 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourcePositionImpl.classbin1095 -> 1095 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/StaticBlockComponent.classbin1030 -> 1030 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TagImpl.classbin1350 -> 1350 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TemporaryStore.classbin548 -> 548 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TextTagImpl.classbin1026 -> 1026 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ThrowsTagImpl.classbin2479 -> 2479 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Timer.classbin2568 -> 2568 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet$1.classbin900 -> 900 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet.classbin2637 -> 2637 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TypeImpl.classbin2694 -> 2694 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TypeVariableImpl.classbin1292 -> 1292 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ValueTagImpl.classbin1032 -> 1032 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Whitespace.classbin591 -> 591 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/AdditionExpression.classbin2306 -> 2306 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/AndExpression.classbin756 -> 756 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.classbin1711 -> 1711 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.classbin2769 -> 2769 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.classbin2071 -> 2071 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryExpression.classbin615 -> 615 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.classbin1593 -> 1593 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.classbin1928 -> 1928 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.classbin1691 -> 1691 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BitShiftRightExpression.classbin784 -> 784 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/CircularExpressionException.classbin618 -> 618 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConditionalExpression.classbin1670 -> 1670 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantBoolean.classbin1371 -> 1371 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantByte.classbin1082 -> 1082 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantChar.classbin1634 -> 1634 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantDouble.classbin1288 -> 1288 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantExpression.classbin787 -> 787 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantFloat.classbin1448 -> 1448 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantInteger.classbin1378 -> 1378 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantLong.classbin1599 -> 1599 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantNull.classbin829 -> 829 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantShort.classbin1088 -> 1088 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantString.classbin1025 -> 1025 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Context.classbin818 -> 818 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/DivisionExpression.classbin959 -> 959 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/EqualExpression.classbin1067 -> 1067 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Evaluator.classbin3343 -> 3343 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ExclusiveOrExpression.classbin780 -> 780 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/GreaterThanExpression.classbin988 -> 988 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/GreaterThanOrEqualExpression.classbin1009 -> 1009 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/IdentifierExpression.classbin2874 -> 2874 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/IllegalExpressionException.classbin577 -> 577 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/InclusiveOrExpression.classbin773 -> 773 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LessThanExpression.classbin979 -> 979 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LessThanOrEqualExpression.classbin1000 -> 1000 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalAndExpression.classbin693 -> 693 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalNotExpression.classbin1557 -> 1557 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalOrExpression.classbin683 -> 683 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ModuloExpression.classbin953 -> 953 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/MultiplicationExpression.classbin977 -> 977 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NegateExpression.classbin1696 -> 1696 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NotEqualExpression.classbin1071 -> 1071 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NotExpression.classbin1467 -> 1467 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ShiftLeftExpression.classbin772 -> 772 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ShiftRightExpression.classbin775 -> 775 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/SubtractionExpression.classbin968 -> 968 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Type.classbin1204 -> 1204 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/TypeCastExpression.classbin2687 -> 2687 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/UnaryExpression.classbin524 -> 524 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/UnknownIdentifierException.classbin473 -> 473 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml$State.classbin900 -> 900 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml.classbin26673 -> 26673 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/ClassWrapper.classbin8421 -> 9260 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniPrintStream.classbin5349 -> 5411 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniStubPrinter.classbin4018 -> 4087 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain.classbin3020 -> 3098 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniIncludePrinter.classbin4472 -> 4600 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniPrintStream.classbin3119 -> 3289 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniStubPrinter.classbin3530 -> 3599 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/Keywords.classbin3576 -> 3638 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.classbin10907 -> 11933 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/MethodHelper.classbin2924 -> 2993 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup.classbin3353 -> 3678 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.classbin2719 -> 2719 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.classbin30526 -> 30526 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/CompilationError.classbin624 -> 624 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Generator.classbin2901 -> 2901 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/GiopIo.classbin2777 -> 2777 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/HashFinder.classbin1064 -> 1064 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$1.classbin969 -> 969 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$10.classbin971 -> 971 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$11.classbin900 -> 900 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$12.classbin971 -> 971 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$13.classbin971 -> 971 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$14.classbin971 -> 971 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$15.classbin1039 -> 1039 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$16.classbin972 -> 972 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$17.classbin1039 -> 1039 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$18.classbin900 -> 900 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$2.classbin969 -> 969 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$3.classbin969 -> 969 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$4.classbin1048 -> 1048 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$5.classbin1048 -> 1048 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$6.classbin960 -> 960 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$7.classbin960 -> 960 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$8.classbin969 -> 969 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$9.classbin969 -> 969 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.classbin6058 -> 6058 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/MethodGenerator.classbin5280 -> 5280 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RMICException.classbin555 -> 555 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RmiMethodGenerator.classbin5116 -> 5116 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceRmicCompiler.classbin3894 -> 3894 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.classbin3290 -> 3290 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/rmic/WrapUnWrapper.classbin1244 -> 1244 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$1.classbin1171 -> 1171 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$2.classbin1197 -> 1197 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$3.classbin950 -> 950 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer.classbin4636 -> 4636 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/taglets/AuthorTaglet$EmailReplacement.classbin714 -> 714 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/taglets/AuthorTaglet.classbin4878 -> 4878 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/taglets/CodeTaglet.classbin1529 -> 1529 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/taglets/CopyrightTaglet.classbin2366 -> 2366 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/taglets/DeprecatedTaglet.classbin2371 -> 2371 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/taglets/GenericTaglet.classbin2708 -> 2708 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/taglets/SinceTaglet.classbin2962 -> 2962 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/taglets/TagletContext.classbin858 -> 858 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/taglets/ValueTaglet.classbin2695 -> 2695 bytes
-rw-r--r--libjava/classpath/tools/classes/gnu/classpath/tools/taglets/VersionTaglet.classbin2580 -> 2580 bytes
-rw-r--r--libjava/classpath/tools/com/sun/tools/javadoc/Main.java37
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/FileSystemClassLoader.java609
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/IOToolkit.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/MalformedInputEvent.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/MalformedInputListener.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/NotifyingInputStreamReader.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/StringToolkit.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/AbstractDoclet.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/DocletConfigurationException.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOption.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionColonSeparated.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionFile.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionFlag.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionPackageWildcard.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionString.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/InlineTagRenderer.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/InvalidPackageWildcardException.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/PackageGroup.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/PackageMatcher.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/StandardTaglet.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/TagletPrinter.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/debugdoclet/DebugDoclet.java37
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/CssClass.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlPage.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlTagletContext.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/Driver.java4885
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.java151
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.java1365
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/TargetContext.java189
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.java115
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/AbstractTagImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/ArrayCharacterIterator.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/ConstructorDocImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/Debug.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/DirectoryTree.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/DocImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/ErrorReporter.java225
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/GjdocPackageDoc.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/GjdocRootDoc.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/InheritDocTagImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/JavadocWrapper.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/LinkTagImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/MethodDocImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/ParamTagImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/ParameterImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/ParseException.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/Parser.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/ProgramElementDocImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/RootDocImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/SeeTagImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/SourcePositionImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/TagContainer.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/TagImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/TemporaryStore.java247
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/TextTagImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/ThrowsTagImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/Timer.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/TimerDoclet.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/TypeImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/TypeVariableImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/ValueTagImpl.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/WritableType.java71
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/AdditionExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/AndExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BitShiftRightExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/CircularExpressionException.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConditionalExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantBoolean.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantByte.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantChar.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantDouble.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantFloat.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantInteger.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantLong.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantNull.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantShort.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantString.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Context.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/DivisionExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/EqualExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ExclusiveOrExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Expression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/GreaterThanExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/GreaterThanOrEqualExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/IdentifierExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/IllegalExpressionException.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/InclusiveOrExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LessThanExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LessThanOrEqualExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LogicalAndExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LogicalNotExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LogicalOrExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ModuloExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/MultiplicationExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/NegateExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/NotEqualExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/NotExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ShiftLeftExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ShiftRightExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/SubtractionExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Type.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/TypeCastExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/UnaryExpression.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/UnknownIdentifierException.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/java2xhtml/Java2xhtml.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/javah/ClassWrapper.java52
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/javah/CniPrintStream.java4
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/javah/CniStubPrinter.java2
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/javah/GcjhMain.java2
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/javah/JniIncludePrinter.java6
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/javah/JniPrintStream.java10
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/javah/JniStubPrinter.java2
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/javah/Keywords.java4
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/javah/Main.java30
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/javah/MethodHelper.java2
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/javah/PathOptionGroup.java16
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/rmic/CompilationError.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/rmic/Generator.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/rmic/GiopIo.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/rmic/HashFinder.java18
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/rmic/Main.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/rmic/MethodGenerator.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/rmic/RMICException.java20
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java12
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/rmic/RmicBackend.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/rmic/SourceRmicCompiler.java12
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/rmic/Variables.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/rmic/WrapUnWrapper.java18
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/serialver/SerialVer.java20
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/taglets/AuthorTaglet.java569
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/taglets/CodeTaglet.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/taglets/CopyrightTaglet.java229
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/taglets/DeprecatedTaglet.java247
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/taglets/GenericTaglet.java297
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/taglets/GnuExtendedTaglet.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/taglets/SinceTaglet.java305
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/taglets/TagletContext.java37
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/taglets/ValueTaglet.java19
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/taglets/VersionTaglet.java289
414 files changed, 7655 insertions, 4975 deletions
diff --git a/libjava/classpath/tools/Makefile.in b/libjava/classpath/tools/Makefile.in
index bebea3dd976..adb8c09b7d6 100644
--- a/libjava/classpath/tools/Makefile.in
+++ b/libjava/classpath/tools/Makefile.in
@@ -54,6 +54,9 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
+ $(top_srcdir)/../../config/lib-ld.m4 \
+ $(top_srcdir)/../../config/lib-link.m4 \
+ $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -72,9 +75,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
diff --git a/libjava/classpath/tools/classes/com/sun/tools/javadoc/Main.class b/libjava/classpath/tools/classes/com/sun/tools/javadoc/Main.class
index f2822a6e266..50a486c5601 100644
--- a/libjava/classpath/tools/classes/com/sun/tools/javadoc/Main.class
+++ b/libjava/classpath/tools/classes/com/sun/tools/javadoc/Main.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader$FileStreamInfo.class b/libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader$FileStreamInfo.class
index 83a757fb1bb..e64ee9f79ce 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader$FileStreamInfo.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader$FileStreamInfo.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader$JarStreamInfo.class b/libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader$JarStreamInfo.class
index 4e4d39268c8..27a4843a48f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader$JarStreamInfo.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader$JarStreamInfo.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader.class b/libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader.class
index 7b65b829c1e..cc4d74a6db3 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/IOToolkit.class b/libjava/classpath/tools/classes/gnu/classpath/tools/IOToolkit.class
index d5f72fb6c6d..967a3a8e8a9 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/IOToolkit.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/IOToolkit.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/MalformedInputEvent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/MalformedInputEvent.class
index 445a1f307d1..c3701b155a9 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/MalformedInputEvent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/MalformedInputEvent.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/NotifyingInputStreamReader.class b/libjava/classpath/tools/classes/gnu/classpath/tools/NotifyingInputStreamReader.class
index fc7d1349f43..424a8629382 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/NotifyingInputStreamReader.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/NotifyingInputStreamReader.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/StringToolkit.class b/libjava/classpath/tools/classes/gnu/classpath/tools/StringToolkit.class
index bef494c89ef..1f6a48855b8 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/StringToolkit.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/StringToolkit.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionGroup.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionGroup.class
index 5b3b3d91452..56584bdbb7b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionGroup.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionGroup.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTag.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTag.class
index 2aee2cfd564..939e890ceae 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTag.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTag.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTaglet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTaglet.class
index b88206bf8ad..d81864f04a8 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTaglet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTaglet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTagletPath.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTagletPath.class
index c16cb5a7d25..9336e358481 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTagletPath.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTagletPath.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$IndexKey.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$IndexKey.class
index 7247ed826b7..b3a2f7b42ee 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$IndexKey.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$IndexKey.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$InterfaceRelation.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$InterfaceRelation.class
index 28d360b4d6e..0e061038e72 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$InterfaceRelation.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$InterfaceRelation.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$UsageType.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$UsageType.class
index e06dc5f523b..c962bcc1c39 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$UsageType.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$UsageType.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.class
index 6158ab308bf..794d3568d94 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletConfigurationException.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletConfigurationException.class
index f8f42878876..28d3cd17aa5 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletConfigurationException.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletConfigurationException.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOption.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOption.class
index 2b2bf916578..5b491a4eb42 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOption.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOption.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionColonSeparated.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionColonSeparated.class
index b51e16779fa..5f4f6b4a514 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionColonSeparated.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionColonSeparated.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionFile.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionFile.class
index ff961e93568..aac98a43077 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionFile.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionFile.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionFlag.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionFlag.class
index da98b73013e..ae9466a0deb 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionFlag.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionFlag.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionPackageWildcard.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionPackageWildcard.class
index 72b2822fdfd..3f9d436cc84 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionPackageWildcard.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionPackageWildcard.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionString.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionString.class
index 39529c2667c..79bbe2c51b2 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionString.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionString.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/InvalidPackageWildcardException.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/InvalidPackageWildcardException.class
index c2cfa70b874..0141cb1f47d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/InvalidPackageWildcardException.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/InvalidPackageWildcardException.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageGroup.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageGroup.class
index a046a58a9c1..c9bdbaa68a0 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageGroup.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageGroup.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageMatcher.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageMatcher.class
index 6370bc4a1ef..88ed2d53cc6 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageMatcher.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageMatcher.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/StandardTaglet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/StandardTaglet.class
index 711c57ef370..2422f3e5350 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/StandardTaglet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/StandardTaglet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/debugdoclet/DebugDoclet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/debugdoclet/DebugDoclet.class
index 70bd890c263..0ddee8859f2 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/debugdoclet/DebugDoclet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/debugdoclet/DebugDoclet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/CssClass.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/CssClass.class
index 9fe21945a26..89ca9bb2656 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/CssClass.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/CssClass.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.class
index 125649f93ef..16ffa3350ae 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.class
index 4db03df8d41..3576ed98ead 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.class
index b2ef23465e0..3d38a044d03 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.class
index 83886a0a3c6..c6e6f121d7e 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$TreeNode.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$TreeNode.class
index f0d1ad7d836..be1eab39129 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$TreeNode.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$TreeNode.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.class
index a9e919bdf84..1e86b0b069b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlPage.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlPage.class
index c8fef270e8a..ffa980d1e7b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlPage.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlPage.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlTagletContext.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlTagletContext.class
index 9c422cac9e5..39fa437d431 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlTagletContext.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlTagletContext.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$1.class
index 016bcdda9aa..51027ef0e74 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$NullErrorReporter.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$NullErrorReporter.class
index fdaf194670b..42b2a7d382f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$NullErrorReporter.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$NullErrorReporter.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$UsageType.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$UsageType.class
index bc7fc363d33..dfd0a225197 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$UsageType.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$UsageType.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver.class
index 11aeeb98382..f34cca51124 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.class
index 7c022b493a5..e18500ad88b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer$TagInfo.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer$TagInfo.class
index 0afc368b04b..7c0462beb70 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer$TagInfo.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer$TagInfo.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.class
index 32d55684c97..f153d7f0daa 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/TargetContext.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/TargetContext.class
index de769e90d95..9e4d11f266d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/TargetContext.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/TargetContext.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet$DocErrorReporterOutputStream.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet$DocErrorReporterOutputStream.class
index 949aaf4113c..d6d09c0fd8a 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet$DocErrorReporterOutputStream.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet$DocErrorReporterOutputStream.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.class
index d21fcb66eb3..fb76313b51a 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.class
index 9cfc10e7151..e13119b5c4c 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.class
index 7c2a5bce084..01c62844e30 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.class
index b0dc3a67685..a21b9228fa3 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.class
index 7fcd83c3b70..262031d4a56 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.class b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.class
index a5491d4f458..3b14f2323a4 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/AbstractTagImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/AbstractTagImpl.class
index df6a4dcc6e1..6f8b4208926 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/AbstractTagImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/AbstractTagImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ArrayCharacterIterator.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ArrayCharacterIterator.class
index 66c1f8a0430..2a21e67a255 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ArrayCharacterIterator.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ArrayCharacterIterator.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BlockSourceComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BlockSourceComponent.class
index 164d5f38094..5d89719d400 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BlockSourceComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BlockSourceComponent.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BracketClose.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BracketClose.class
index 4a6a51783a1..3802e3405ce 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BracketClose.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BracketClose.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassComponent.class
index aa31f74426d..5d2f22bd82c 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassComponent.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.class
index d1be100e4a5..36049302b99 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocProxy.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocProxy.class
index 62185a01725..de3c21147f6 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocProxy.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocProxy.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.class
index a9b7f63119d..7f8381f9160 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/CommentComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/CommentComponent.class
index 063715191ee..ce853e17119 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/CommentComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/CommentComponent.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ConstructorDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ConstructorDocImpl.class
index 774e33c0dad..8ab08afb24c 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ConstructorDocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ConstructorDocImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Debug.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Debug.class
index 849e68707a8..fb026a0b7a7 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Debug.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Debug.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DirectoryTree$FileNode.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DirectoryTree$FileNode.class
index c1c373f8715..6d963c31b12 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DirectoryTree$FileNode.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DirectoryTree$FileNode.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DirectoryTree.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DirectoryTree.class
index 1c1abd549f5..3d6bf8c6a57 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DirectoryTree.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DirectoryTree.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.class
index e93e4604a90..2963ccf597e 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/EmptyStatementComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/EmptyStatementComponent.class
index e25d162ccd6..7c9903dc5ea 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/EmptyStatementComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/EmptyStatementComponent.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ErrorReporter.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ErrorReporter.class
index 3fda481956a..d32b961f8c2 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ErrorReporter.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ErrorReporter.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.class
index 34503125fc5..4ca710dd980 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldComponent.class
index 32fb32e415c..a38964f0f08 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldComponent.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.class
index 31c971d56eb..b6855389289 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FunctionComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FunctionComponent.class
index 4a8a340e4b9..11549cf7f8b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FunctionComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FunctionComponent.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/IgnoredFileParseException.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/IgnoredFileParseException.class
index f0cf14df720..5b5aff1523b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/IgnoredFileParseException.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/IgnoredFileParseException.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ImportComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ImportComponent.class
index 7f30dacd1c6..884422294cd 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ImportComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ImportComponent.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/InheritDocTagImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/InheritDocTagImpl.class
index 5d56604eefd..715d01c5a0a 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/InheritDocTagImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/InheritDocTagImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/JavadocWrapper.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/JavadocWrapper.class
index df1abf1ac37..d38c2bfd4f0 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/JavadocWrapper.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/JavadocWrapper.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/LinkTagImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/LinkTagImpl.class
index 5f1ca92d6d1..b470a9af5f7 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/LinkTagImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/LinkTagImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class
index 22adcc22814..2ba0ccf09cc 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class
index 2cba5c1eb78..597a142cf50 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class
index 71d6e115251..bf1c99a432e 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class
index 070cc7c54b2..7bf3e4cb45f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class
index 6d12c7db17d..41645e8e9b4 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class
index 211ef8606c8..ed2e3427e9a 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class
index f758b36833d..68ec874477a 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class
index b9e96b63fca..54fefac98b2 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class
index ae88b4f6695..81583d89783 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class
index 4b417faab6d..a3952995909 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class
index aa349663be8..61bf1f80899 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.class
index 607d9b7a2a5..60869e5f88f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class
index f0201ad3011..5a9d8482806 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class
index 83dfc4b56eb..12a49837f2b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class
index 997fde10d05..32e26ffa466 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class
index 4c3d30a1c7a..fd99e130d67 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class
index b6531dae73e..991629a166d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class
index 782a3a38764..441b8dac273 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.class
index ccb4c5cdea7..b5015e391a9 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.class
index 7bd4d416eac..8690a7e735b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class
index 8a1b9a09071..6dbf679eea3 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.class
index f6f9ff87bbc..2a4473bbd23 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.class
index 8ff1acc7f37..50d01704914 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class
index d1a4f5f1ced..5dde313d481 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class
index 8d14fc4c976..19e991a628e 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$OptionProcessor.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$OptionProcessor.class
index 15840c0c1bf..afa9335a840 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$OptionProcessor.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$OptionProcessor.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class
index e23eda47011..2f46dd2828c 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MemberDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MemberDocImpl.class
index 7b5557571a7..bdf920109b7 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MemberDocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MemberDocImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MethodDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MethodDocImpl.class
index 743f0be560c..5bff1ce2893 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MethodDocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MethodDocImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageComponent.class
index 60e378fe2d5..e9947add8c3 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageComponent.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.class
index 6dbe6a8fa94..2ef9d54d998 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParamTagImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParamTagImpl.class
index 25ea5872faf..e2fadecfdd1 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParamTagImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParamTagImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParameterImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParameterImpl.class
index 2940fc08bf1..93575d269ec 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParameterImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParameterImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParseException.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParseException.class
index 716b5681f6d..52c67ef01b4 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParseException.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParseException.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.class
index 82405eb5075..55600beac85 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$Context.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$Context.class
index 18360502620..f89d662043a 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$Context.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$Context.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.class
index c12d30f54a3..037311b3ba2 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ProgramElementDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ProgramElementDocImpl.class
index 27aaa1a194d..50d6e52002f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ProgramElementDocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ProgramElementDocImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportClassFile.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportClassFile.class
index 75ef96cb9ec..a82823a90e9 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportClassFile.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportClassFile.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportNotFound.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportNotFound.class
index 6f6faf537f3..68af4507219 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportNotFound.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportNotFound.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportPackageFile.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportPackageFile.class
index e6f0bde1536..4302abeb277 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportPackageFile.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportPackageFile.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportReflectionClass.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportReflectionClass.class
index 4a29649dde1..c0b66ddc301 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportReflectionClass.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportReflectionClass.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportReflectionPackage.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportReflectionPackage.class
index e956768707e..2069ee6d1bf 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportReflectionPackage.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportReflectionPackage.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ScheduledClass.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ScheduledClass.class
index 92ddaf87af7..9c76827c8ff 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ScheduledClass.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ScheduledClass.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl.class
index f06d76f79d6..3db73689da6 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SeeTagImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SeeTagImpl.class
index 9fa4c15cfe2..324fb5be08f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SeeTagImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SeeTagImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.class
index e83396669f4..5f75b5a2013 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SlashSlashCommentComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SlashSlashCommentComponent.class
index 751f5b6b6f3..470c80c2d83 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SlashSlashCommentComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SlashSlashCommentComponent.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourceComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourceComponent.class
index ec9e789dc43..804802be5dc 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourceComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourceComponent.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourcePositionImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourcePositionImpl.class
index da0e63f6c44..3f94fd12812 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourcePositionImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourcePositionImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/StaticBlockComponent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/StaticBlockComponent.class
index 75640c84a52..b59c7fdc62f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/StaticBlockComponent.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/StaticBlockComponent.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TagImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TagImpl.class
index e51bbf4f2f7..536c10741ad 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TagImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TagImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TemporaryStore.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TemporaryStore.class
index 661f49305cc..cf42c61f5be 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TemporaryStore.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TemporaryStore.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TextTagImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TextTagImpl.class
index 494a09e0933..73e5502993b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TextTagImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TextTagImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ThrowsTagImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ThrowsTagImpl.class
index d86084caa70..06cc77ca33b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ThrowsTagImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ThrowsTagImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Timer.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Timer.class
index 1d448e37d10..8f5dc610960 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Timer.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Timer.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet$1.class
index e3e7ede3aa9..e3408997374 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet.class
index ea6cb557f6e..965ef1c3379 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TypeImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TypeImpl.class
index e2e630a5c6b..50bb53e8f20 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TypeImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TypeImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TypeVariableImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TypeVariableImpl.class
index 24ba68dc90a..2ebf595d717 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TypeVariableImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TypeVariableImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ValueTagImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ValueTagImpl.class
index 94302c2ebbb..872c40309ad 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ValueTagImpl.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ValueTagImpl.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Whitespace.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Whitespace.class
index d7051519d56..965c1aa4199 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Whitespace.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Whitespace.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/AdditionExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/AdditionExpression.class
index fe0b4828dd9..ef3bbff79fd 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/AdditionExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/AdditionExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/AndExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/AndExpression.class
index fe4733472ff..b5f1deb3c83 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/AndExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/AndExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.class
index 3da691c8314..b83ad660648 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.class
index 1908c173d35..d56220d9569 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.class
index cfaf94d3aec..52c0522fc1d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryExpression.class
index fc81485e5a6..688a122096f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.class
index 50cba59ca37..ea6978d4722 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.class
index 0db661d7d2c..72a6fc8d487 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.class
index 885e009a8d7..5726e7a3861 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BitShiftRightExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BitShiftRightExpression.class
index d0abe9d17af..e1f37d57646 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BitShiftRightExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BitShiftRightExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/CircularExpressionException.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/CircularExpressionException.class
index 26c14ed4f60..f1a21239aca 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/CircularExpressionException.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/CircularExpressionException.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConditionalExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConditionalExpression.class
index 56050b9f28f..87114d6cb85 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConditionalExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConditionalExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantBoolean.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantBoolean.class
index ebba4c8e490..2ee7e545229 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantBoolean.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantBoolean.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantByte.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantByte.class
index 07a85b1702e..3eacffbfb4e 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantByte.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantByte.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantChar.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantChar.class
index 6d44b80c873..c4de797ec82 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantChar.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantChar.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantDouble.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantDouble.class
index e5b4f83f02f..38700c72310 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantDouble.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantDouble.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantExpression.class
index 791aae005ed..3d194a9b57a 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantFloat.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantFloat.class
index 0fe33bd94e1..61b969fe0f4 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantFloat.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantFloat.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantInteger.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantInteger.class
index 1fc0bf38f12..278ab37d288 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantInteger.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantInteger.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantLong.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantLong.class
index 32af351937b..726914985dc 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantLong.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantLong.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantNull.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantNull.class
index aabd3f5786d..d2c3574d80b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantNull.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantNull.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantShort.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantShort.class
index 082f9f06f76..691a01933c5 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantShort.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantShort.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantString.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantString.class
index 605278d10ca..67ef948195b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantString.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantString.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Context.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Context.class
index 3afc14603fe..0a21eff60b5 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Context.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Context.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/DivisionExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/DivisionExpression.class
index 3543f00ac8a..95cc47b5c35 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/DivisionExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/DivisionExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/EqualExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/EqualExpression.class
index 222c6e40ef6..2fd2087c821 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/EqualExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/EqualExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Evaluator.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Evaluator.class
index 4cf131ade81..45c686d3c79 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Evaluator.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Evaluator.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ExclusiveOrExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ExclusiveOrExpression.class
index 9b3655780f7..0474dd4a435 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ExclusiveOrExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ExclusiveOrExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/GreaterThanExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/GreaterThanExpression.class
index eef127e4523..33a88296aaf 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/GreaterThanExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/GreaterThanExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/GreaterThanOrEqualExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/GreaterThanOrEqualExpression.class
index 5a8dcc22bc0..f864c02c4bd 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/GreaterThanOrEqualExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/GreaterThanOrEqualExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/IdentifierExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/IdentifierExpression.class
index 10ab5740d36..8b2526638e0 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/IdentifierExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/IdentifierExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/IllegalExpressionException.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/IllegalExpressionException.class
index 7c9b52e78f3..312246f29ed 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/IllegalExpressionException.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/IllegalExpressionException.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/InclusiveOrExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/InclusiveOrExpression.class
index b54b51b2d68..8ac3c22952b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/InclusiveOrExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/InclusiveOrExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LessThanExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LessThanExpression.class
index 08f71e49970..d0d6923af18 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LessThanExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LessThanExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LessThanOrEqualExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LessThanOrEqualExpression.class
index 97e19b3995e..e40f85658c0 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LessThanOrEqualExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LessThanOrEqualExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalAndExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalAndExpression.class
index d031ae37df1..da9124b4224 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalAndExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalAndExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalNotExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalNotExpression.class
index 0fec9ca8c04..055856eef69 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalNotExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalNotExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalOrExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalOrExpression.class
index c9a6dbf87b6..8ed300494d7 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalOrExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalOrExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ModuloExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ModuloExpression.class
index e005b639647..ec9870c0bd1 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ModuloExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ModuloExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/MultiplicationExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/MultiplicationExpression.class
index f5c4efed22e..770c4f4f63f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/MultiplicationExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/MultiplicationExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NegateExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NegateExpression.class
index d136821a917..6745a5096f5 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NegateExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NegateExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NotEqualExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NotEqualExpression.class
index 57c8943c23c..8a830ca8028 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NotEqualExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NotEqualExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NotExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NotExpression.class
index 85b5aa5e3e7..96446080070 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NotExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NotExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ShiftLeftExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ShiftLeftExpression.class
index 07e417c9cbf..f7f21d2138f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ShiftLeftExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ShiftLeftExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ShiftRightExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ShiftRightExpression.class
index 92a2cde79d5..afa890a0374 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ShiftRightExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ShiftRightExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/SubtractionExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/SubtractionExpression.class
index 7d53d1ef2b1..e7496b3d421 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/SubtractionExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/SubtractionExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Type.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Type.class
index c0ec6073961..59a4e3fb9f4 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Type.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Type.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/TypeCastExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/TypeCastExpression.class
index 018024d6f0f..2f16d29b9fb 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/TypeCastExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/TypeCastExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/UnaryExpression.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/UnaryExpression.class
index b4a86d1b503..7189a2938cc 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/UnaryExpression.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/UnaryExpression.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/UnknownIdentifierException.class b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/UnknownIdentifierException.class
index 97557e03664..3e678af8986 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/UnknownIdentifierException.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/UnknownIdentifierException.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml$State.class b/libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml$State.class
index 71875ab874b..f056c6252d8 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml$State.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml$State.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml.class b/libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml.class
index 31d9d66d82d..17de273a03e 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/ClassWrapper.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/ClassWrapper.class
index e853782fc85..d8694184af8 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/ClassWrapper.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/ClassWrapper.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniPrintStream.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniPrintStream.class
index 0c7915ce042..c1a13fedef4 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniPrintStream.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniPrintStream.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniStubPrinter.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniStubPrinter.class
index e226ffbd5d7..559adbf2a45 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniStubPrinter.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniStubPrinter.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain.class
index edd30ed0c18..1efd92d690c 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniIncludePrinter.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniIncludePrinter.class
index ad9a2877f9d..c31f88ae6b7 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniIncludePrinter.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniIncludePrinter.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniPrintStream.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniPrintStream.class
index db0d6668438..d8f006c14ef 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniPrintStream.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniPrintStream.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniStubPrinter.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniStubPrinter.class
index a0f008dbfd8..b7c8453dff0 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniStubPrinter.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniStubPrinter.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Keywords.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Keywords.class
index 592ff470550..97b0b76fdef 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Keywords.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Keywords.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class
index 417249696fc..57adaabe3ec 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/MethodHelper.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/MethodHelper.class
index 71974cc7d10..fe4f73270ec 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/MethodHelper.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/MethodHelper.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup.class
index 3b03aafa095..1608c7127f6 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.class
index 8877bc5af20..313ad8786ba 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class
index 3510ef7b167..8f5efc34920 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/CompilationError.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/CompilationError.class
index d18117c043d..8953e5c7f52 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/CompilationError.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/CompilationError.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Generator.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Generator.class
index 1815f702675..2161af5c8b1 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Generator.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Generator.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/GiopIo.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/GiopIo.class
index 82784b8aad1..2f8ed63d06e 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/GiopIo.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/GiopIo.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/HashFinder.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/HashFinder.class
index a1f7eeeaa75..16602c561cb 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/HashFinder.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/HashFinder.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$1.class
index 3412c408980..a1d9d5ad0b1 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$10.class
index 03925707d5c..2fca747eb9c 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$10.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$10.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$11.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$11.class
index 926421bd32d..595b1c3347e 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$11.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$11.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$12.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$12.class
index 61b2f4d7610..25b43e13ed5 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$12.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$12.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$13.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$13.class
index 2e181a43225..164a8b191fd 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$13.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$13.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$14.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$14.class
index bf5dcee7ec2..525c849f9de 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$14.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$14.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$15.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$15.class
index f4a66034ff1..e49a39de936 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$15.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$15.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$16.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$16.class
index b29f6c36639..7dc9274e9f3 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$16.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$16.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$17.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$17.class
index fd1326a565c..d162862fddb 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$17.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$17.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$18.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$18.class
index d69b423fe01..5eb04cf9122 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$18.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$18.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$2.class
index 2726976c9b5..4ab4ef52c12 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$3.class
index 6b6b43eef71..f4e3f569a2f 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$4.class
index a3af4d44492..bff2a625bd4 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$4.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$4.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$5.class
index a35be9bc599..1e8a4a49d1b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$5.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$5.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$6.class
index 8b0fc5e21e1..6472ff9f42a 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$6.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$6.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$7.class
index 0d6cceb9dcd..68bc216efa8 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$7.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$7.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$8.class
index cce1b586e25..57fa66e4ebb 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$8.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$8.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$9.class
index 2558b26cc24..1aafd5883e7 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$9.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$9.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.class
index f715c1786d9..f86dafaf9d3 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/MethodGenerator.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/MethodGenerator.class
index ab9c27ea79a..1dcbac85bec 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/MethodGenerator.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/MethodGenerator.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RMICException.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RMICException.class
index e3ebf5d1623..221530b6bdd 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RMICException.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RMICException.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RmiMethodGenerator.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RmiMethodGenerator.class
index d914461f723..e6a69af1629 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RmiMethodGenerator.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RmiMethodGenerator.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceRmicCompiler.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceRmicCompiler.class
index b0e41604be1..a8f2f7ab0c7 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceRmicCompiler.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceRmicCompiler.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.class
index c5a258b8202..c9b4581dc5d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/WrapUnWrapper.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/WrapUnWrapper.class
index fe7aa9c8cae..f1518ea6c9b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/WrapUnWrapper.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/WrapUnWrapper.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$1.class
index 8d46b6f4edd..5d3be820965 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$1.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$1.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$2.class
index b83195b8fca..a0a4470b9f9 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$2.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$2.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$3.class
index 8acef502ca3..5a544fdbd8d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$3.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$3.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer.class b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer.class
index c1b42dab8e3..fd84c775a1d 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/AuthorTaglet$EmailReplacement.class b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/AuthorTaglet$EmailReplacement.class
index 22248a243d2..1cc5913e80b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/AuthorTaglet$EmailReplacement.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/AuthorTaglet$EmailReplacement.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/AuthorTaglet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/AuthorTaglet.class
index 53a734a8b11..5050e4f9e3e 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/AuthorTaglet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/AuthorTaglet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/CodeTaglet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/CodeTaglet.class
index 7fc603cbe03..051e7849a20 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/CodeTaglet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/CodeTaglet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/CopyrightTaglet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/CopyrightTaglet.class
index 84f93434d11..d957f4cd476 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/CopyrightTaglet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/CopyrightTaglet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/DeprecatedTaglet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/DeprecatedTaglet.class
index 3c9e77c20d0..5e5946ecae7 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/DeprecatedTaglet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/DeprecatedTaglet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/GenericTaglet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/GenericTaglet.class
index 50ab7c08ca2..6b767ee4854 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/GenericTaglet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/GenericTaglet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/SinceTaglet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/SinceTaglet.class
index 2b99746265f..4848140186b 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/SinceTaglet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/SinceTaglet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/TagletContext.class b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/TagletContext.class
index 2e6377b0659..9eb4b599a44 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/TagletContext.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/TagletContext.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/ValueTaglet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/ValueTaglet.class
index aae85fb4604..185f8e4b545 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/ValueTaglet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/ValueTaglet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/VersionTaglet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/VersionTaglet.class
index 28bb7c98c90..cde2ca6bf21 100644
--- a/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/VersionTaglet.class
+++ b/libjava/classpath/tools/classes/gnu/classpath/tools/taglets/VersionTaglet.class
Binary files differ
diff --git a/libjava/classpath/tools/com/sun/tools/javadoc/Main.java b/libjava/classpath/tools/com/sun/tools/javadoc/Main.java
index 28930301356..7f0fc108805 100644
--- a/libjava/classpath/tools/com/sun/tools/javadoc/Main.java
+++ b/libjava/classpath/tools/com/sun/tools/javadoc/Main.java
@@ -1,3 +1,40 @@
+/* com.sun.tools.javadoc.Main - Main wrapper for GJDoc
+ Copyright (C) 2007 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
package com.sun.tools.javadoc;
public class Main
diff --git a/libjava/classpath/tools/gnu/classpath/tools/FileSystemClassLoader.java b/libjava/classpath/tools/gnu/classpath/tools/FileSystemClassLoader.java
index 0ec243d5639..3a21fe96e43 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/FileSystemClassLoader.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/FileSystemClassLoader.java
@@ -1,296 +1,313 @@
-/* gnu.classpath.tools.FileSystemClassLoader
- Copyright (C) 2004 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
-
-package gnu.classpath.tools;
-
-import java.io.File;
-import java.io.FileInputStream;
-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
- * on the local filesystem given a standard search path.
- */
-public class FileSystemClassLoader extends ClassLoader {
-
- private File[] pathComponents;
-
- /**
- * Initialize the class loader with a normal path string. The path
- * string should contain path components separated by {@link
- * File.pathSeparator}. Each path component should either denote a
- * directory or a .jar or .zip file.
- */
- public FileSystemClassLoader(String path)
- {
- List components = new ArrayList();
- 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);
- }
-
- /**
- * Initialize the class loader with an array of path
- * components. Each path component should either denote a
- * directory or a .jar or .zip file.
- */
- public FileSystemClassLoader(File[] pathComponents)
- {
- this.pathComponents = pathComponents;
- for (int i = 0; i < pathComponents.length; ++i) {
- if (!pathComponents[i].exists()) {
- System.err.println("WARNING: Path component '" + pathComponents[i] + "' not found.");
- }
- }
- }
-
- public Class loadClass(String name)
- throws ClassNotFoundException {
-
- return super.loadClass(name);
- }
-
- public Class findClass(String name)
- throws ClassNotFoundException {
-
- byte[] b = loadClassData(name);
- 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
- {
- 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 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 {
- 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;
- }
- }
- }
- }
- catch (IOException ignore) {
- }
- return null;
- }
-}
-
+/* gnu.classpath.tools.FileSystemClassLoader
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.classpath.tools;
+
+import java.io.File;
+import java.io.FileInputStream;
+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
+ * on the local filesystem given a standard search path.
+ */
+public class FileSystemClassLoader extends ClassLoader {
+
+ private File[] pathComponents;
+
+ /**
+ * Initialize the class loader with a normal path string. The path
+ * string should contain path components separated by {@link
+ * File.pathSeparator}. Each path component should either denote a
+ * directory or a .jar or .zip file.
+ */
+ public FileSystemClassLoader(String path)
+ {
+ List components = new ArrayList();
+ 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);
+ }
+
+ /**
+ * Initialize the class loader with an array of path
+ * components. Each path component should either denote a
+ * directory or a .jar or .zip file.
+ */
+ public FileSystemClassLoader(File[] pathComponents)
+ {
+ this.pathComponents = pathComponents;
+ for (int i = 0; i < pathComponents.length; ++i) {
+ if (!pathComponents[i].exists()) {
+ System.err.println("WARNING: Path component '" + pathComponents[i] + "' not found.");
+ }
+ }
+ }
+
+ public Class loadClass(String name)
+ throws ClassNotFoundException {
+
+ return super.loadClass(name);
+ }
+
+ public Class findClass(String name)
+ throws ClassNotFoundException {
+
+ byte[] b = loadClassData(name);
+ 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
+ {
+ 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 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 {
+ 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;
+ }
+ }
+ }
+ }
+ catch (IOException ignore) {
+ }
+ return null;
+ }
+}
+
diff --git a/libjava/classpath/tools/gnu/classpath/tools/IOToolkit.java b/libjava/classpath/tools/gnu/classpath/tools/IOToolkit.java
index 4e222d26777..8b6b9542c95 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/IOToolkit.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/IOToolkit.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/MalformedInputEvent.java b/libjava/classpath/tools/gnu/classpath/tools/MalformedInputEvent.java
index b2ac3ce6cf6..9afcf047656 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/MalformedInputEvent.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/MalformedInputEvent.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/MalformedInputListener.java b/libjava/classpath/tools/gnu/classpath/tools/MalformedInputListener.java
index 66ab1282400..caa471ec54b 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/MalformedInputListener.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/MalformedInputListener.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/NotifyingInputStreamReader.java b/libjava/classpath/tools/gnu/classpath/tools/NotifyingInputStreamReader.java
index 8c35c257312..03121ddab13 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/NotifyingInputStreamReader.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/NotifyingInputStreamReader.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/StringToolkit.java b/libjava/classpath/tools/gnu/classpath/tools/StringToolkit.java
index 214dc1b6609..d70ea931bdb 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/StringToolkit.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/StringToolkit.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/AbstractDoclet.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/AbstractDoclet.java
index 87772077ec2..8ac9add6875 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/AbstractDoclet.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/AbstractDoclet.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletConfigurationException.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletConfigurationException.java
index f75c6cdb727..6db6cc76840 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletConfigurationException.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletConfigurationException.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOption.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOption.java
index fec2c7ac749..ccfb7fa6c38 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOption.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOption.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionColonSeparated.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionColonSeparated.java
index b33519fd231..5bc4a6c623b 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionColonSeparated.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionColonSeparated.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionFile.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionFile.java
index c1f1c3c6323..f1daf2da886 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionFile.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionFile.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionFlag.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionFlag.java
index 0909a86fc63..e6d206f3808 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionFlag.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionFlag.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionPackageWildcard.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionPackageWildcard.java
index 261c676c380..37a359b8823 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionPackageWildcard.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionPackageWildcard.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionString.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionString.java
index b9b956691cc..2bff9ce16f8 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionString.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/DocletOptionString.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/InlineTagRenderer.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/InlineTagRenderer.java
index fa5cf842a66..2897153b622 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/InlineTagRenderer.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/InlineTagRenderer.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/InvalidPackageWildcardException.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/InvalidPackageWildcardException.java
index f8806c5696e..eaef3e49a99 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/InvalidPackageWildcardException.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/InvalidPackageWildcardException.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/PackageGroup.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/PackageGroup.java
index a005b16feb1..bad38f885a0 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/PackageGroup.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/PackageGroup.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/PackageMatcher.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/PackageMatcher.java
index 23da79cb387..0f1b53fbe43 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/PackageMatcher.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/PackageMatcher.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/StandardTaglet.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/StandardTaglet.java
index 86a6a4ed08a..7701a6eaa01 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/StandardTaglet.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/StandardTaglet.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/TagletPrinter.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/TagletPrinter.java
index e62636985b0..2029d6ce933 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/TagletPrinter.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/TagletPrinter.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/debugdoclet/DebugDoclet.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/debugdoclet/DebugDoclet.java
index 63026de420d..ff93f8b096f 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/debugdoclet/DebugDoclet.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/debugdoclet/DebugDoclet.java
@@ -1,3 +1,40 @@
+/* DebugDoclet.java - Doclet for debugging
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
package gnu.classpath.tools.doclets.debugdoclet;
import com.sun.javadoc.ClassDoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/CssClass.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/CssClass.java
index 50867598109..48f1c190a54 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/CssClass.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/CssClass.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets.htmldoclet;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.java
index 7fd2fa0624d..4c5eb1d6e36 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets.htmldoclet;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java
index e49e1c57341..7d5202c9cee 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets.htmldoclet;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlPage.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlPage.java
index 0026e0b8a46..e833627fda0 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlPage.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlPage.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets.htmldoclet;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlTagletContext.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlTagletContext.java
index 5c6e84913d0..5cd272d106e 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlTagletContext.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlTagletContext.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets.htmldoclet;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/Driver.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/Driver.java
index 6f90338b2af..b08d4902608 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/Driver.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/Driver.java
@@ -1,2434 +1,2451 @@
-/* gnu.classpath.tools.doclets.xmldoclet.Driver
- Copyright (C) 2001 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
-
-package gnu.classpath.tools.doclets.xmldoclet;
-
-import com.sun.javadoc.*;
-import java.io.*;
-
-import com.sun.tools.doclets.Taglet;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-import java.text.DateFormat;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.TreeSet;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Properties;
-import java.util.Set;
-import java.util.SortedSet;
-import java.util.StringTokenizer;
-import java.util.TreeMap;
-
-import gnu.classpath.tools.gjdoc.TemporaryStore;
-import gnu.classpath.tools.gjdoc.GjdocPackageDoc;
-
-import gnu.classpath.tools.doclets.PackageGroup;
-import gnu.classpath.tools.doclets.PackageMatcher;
-import gnu.classpath.tools.doclets.InvalidPackageWildcardException;
-
-import gnu.classpath.tools.doclets.xmldoclet.doctranslet.DocTranslet;
-import gnu.classpath.tools.doclets.xmldoclet.doctranslet.DocTransletOptions;
-
-import gnu.classpath.tools.taglets.AuthorTaglet;
-import gnu.classpath.tools.taglets.VersionTaglet;
-import gnu.classpath.tools.taglets.SinceTaglet;
-import gnu.classpath.tools.taglets.DeprecatedTaglet;
-import gnu.classpath.tools.taglets.GenericTaglet;
-import gnu.classpath.tools.doclets.StandardTaglet;
-
-import gnu.classpath.tools.java2xhtml.Java2xhtml;
-
-import gnu.classpath.tools.IOToolkit;
-import gnu.classpath.tools.FileSystemClassLoader;
-
-/**
- * A Doclet which retrieves all information presented by the Doclet
- * API, dumping it to stdout in XML format.
- *
- * @author Julian Scheid
- */
-public class Driver {
-
- public static final String XMLDOCLET_VERSION = "0.6.1";
-
- /**
- * Used for redirecting error messages to <code>/dev/null</code>.
- */
- private static class NullErrorReporter implements DocErrorReporter {
- public void printError(String ignore) {}
- public void printWarning(String ignore) {}
- public void printNotice(String ignore) {}
- }
-
- /*
- * Taglet context constants.
- */
- private static final int CONTEXT_CONSTRUCTOR = 1;
- private static final int CONTEXT_FIELD = 2;
- private static final int CONTEXT_METHOD = 3;
- private static final int CONTEXT_OVERVIEW = 4;
- private static final int CONTEXT_PACKAGE = 5;
- private static final int CONTEXT_TYPE = 6;
-
- /**
- * All XML output will go to this stream.
- */
- private PrintWriter out;
-
- /**
- * How many spaces to indent each XML node level,
- * i.e. Tab size for output.
- */
- private static int indentStep = 1;
-
- /**
- * Won't output superfluous spaces if set to true.
- * If set to false, output will be more legible.
- */
- private boolean compress = false;
-
- /**
- * Won't output warning messages while fixing
- * HTML code if set to true.
- */
- private boolean noHTMLWarn = false;
-
- /**
- * Won't output warning messages when encountering tags
- * that look like an email address if set to true.
- */
- private boolean noEmailWarn = false;
-
- /**
- * Will fix HTML if necessary so that each comment
- * contains valid XML code if set to true. If set
- * to false, HTML code will not be modified and
- * instead encapsulated in a CDATA section.
- */
- private boolean fixHTML = true;
-
- /**
- * User-specified name of the directory where the final version of
- * the generated files will be written to.
- *
- * If no XSLT sheet is given, the XML output will go directly into
- * this directory. Otherwise, XML output will go to a temporary
- * directory and XSLT output will go to this directory.
- */
- private File targetDirectory = null;
-
- /**
- * Directory where XML output will be written to. If no XSLT
- * sheet was given, this is the target directory specified
- * by the user. Otherwise, this is a temporary directory.
- */
- private File xmlTargetDirectory;
-
- /**
- * Contains a number of TargetContexts which describe which XSLT
- * sheet to apply to the output of this doclet, to what directory
- * the XSLT output is written, and which postprocess driver to use
- * to process XSLT output.
- */
- private List targets = new ArrayList();
-
- /**
- * XML text to include at the end of every generated page. Read
- * from the file specified on the command line using -bottomnote.
- * If present, this will be written to the main output file
- * (index.xml) in node /gjdoc:rootDoc/gjdoc:bottomnote.
- */
- private String bottomNote;
-
- /**
- * Brief description of the package set. Can be specified on the
- * command line using -title. This will be written to the main
- * output file (index.xml) in node
- * /gjdoc:rootDoc/gjdoc:title. The HTML generating XSLT sheet
- * uses this for example in window titles.
- */
- private String title;
-
- /**
- * Path to the directory where temporary files should be stored.
- * Defaults to system tempdir, but can be overridden by user
- * with -workpath.
- */
- private String workingPath = System.getProperty("java.io.tmpdir");
-
- /**
- * Temporary directory created by this doclet where all
- * temporary files will be stored in. If no temporary
- * files are needed (i.e. no XSLT postprocessing stage
- * specified by user), this is <code>null</code>.
- */
- private File workingDirectory;
-
- /**
- * Whether to deep-copy the doc-files subdirectory.
- */
- private boolean docFilesSubdirsEnabled = false;
-
- /**
- * Which direct subdirectories of the doc-files directories to exclude.
- * Set of String.
- */
- private Set excludeDocFilesSubDirs = new HashSet();
-
- /**
- * Stores the Doclet API RootDoc we are operating on.
- */
- private RootDoc rootDoc;
-
- /**
- * XML namespace prefix used for all tags, except for HTML
- * tags copied from Javadoc comments. Excluding colon.
- */
- public static final String tagPrefix = "gjdoc";
-
- /**
- * Classpath for loading Taglet classes.
- */
- private String tagletPath = null;
-
- /**
- * The current class that is being processed.
- * Set in outputClassDoc().
- */
- private ClassDoc currentClass;
-
- /**
- * The current member that is being processed.
- * Set in outputMemberDoc().
- */
- private MemberDoc currentMember;
-
- /**
- * The current constructor/method that is being processed.
- * Set in outputExecutableMemberDoc().
- */
- private ExecutableMemberDoc currentExecMember;
-
- /**
- * Mapping from tag type to Taglet for user Taglets specified on
- * the command line.
- */
- private Map tagletMap = new LinkedHashMap();
-
- /**
- * Keeps track of the tags mentioned by the user during option
- * processiong so that an error can be emitted if a tag is
- * mentioned more than once.
- */
- private List mentionedTags = new LinkedList();
-
- /**
- * Stores options to be passed to the DocTranslet.
- */
- private DocTransletOptions docTransletOptions = new DocTransletOptions();
-
- /**
- * Stores the package groups specified in the user
- * options. Contains objects of type PackageGroup.
- */
- private List packageGroups = new LinkedList();
-
- private HtmlRepairer htmlRepairer;
-
- public static boolean start(TemporaryStore _rootDocWrapper) {
- return new Driver().instanceStart((RootDoc)_rootDocWrapper.getAndClear());
- }
-
- /**
- * Official Doclet entry point.
- */
- public static boolean start(RootDoc _rootDoc) {
-
- // Create a new XmlDoclet instance and delegate control.
- TemporaryStore tstore = new TemporaryStore(_rootDoc);
- _rootDoc = null;
- return new Driver().instanceStart((RootDoc)tstore.getAndClear());
- }
-
- /**
- * Output an XML tag describing a com.sun.javadoc.Type object.
- * Assumes that the tag does not have subtags.
- *
- * @param level Level of indentation. Will be multiplied by
- * <code>indentStep</code> to yield actual amount
- * of whitespace inserted at start of line.
- * @param tag Identifier for the XML tag being output.
- * @param type The Javadoc Type to be output.
- */
- protected void outputType(int level, String tag, Type type) {
- outputType(level, tag, type, true);
- }
-
- protected void outputType(int level, String tag, Type type, boolean atomic) {
-
- boolean isIncluded = false;
- ClassDoc typeAsClassDoc = type.asClassDoc();
- String packageName = null;
- if (null != typeAsClassDoc) {
- isIncluded = typeAsClassDoc.isIncluded();
- packageName = typeAsClassDoc.containingPackage().name();
- }
- println(level, "<"+tagPrefix+":"+tag + " typename=\""+type.typeName()+"\""+
- " qualifiedtypename=\""+type.qualifiedTypeName()+"\""
- +(type.dimension().length()==0?"":" dimension=\""+type.dimension()+"\"")
- +(isIncluded?" isIncluded=\"true\"" : "")
- +((null != packageName)?" package=\"" + packageName + "\"" : "")
- +(atomic?"/":"")+">");
- }
-
- protected void outputExecutableMemberDocBody(int level, ExecutableMemberDoc memberDoc) {
-
- currentExecMember = memberDoc;
-
- outputMemberDocBody(level, memberDoc);
-
- Parameter[] parameters = memberDoc.parameters();
- for (int i=0, ilim=parameters.length; i<ilim; ++i) {
- Parameter parameter = parameters[i];
- outputType(level, "parameter name=\""+parameter.name()+"\"", parameter.type());
- }
-
- ClassDoc[] exceptions = memberDoc.thrownExceptions();
- for (int i=0, ilim=exceptions.length; i<ilim; ++i) {
- ClassDoc exception = exceptions[i];
- outputType(level, "thrownException", exception);
- }
-
- printAtomTag(level, "signature full=\""+memberDoc.signature()+"\" flat=\""+memberDoc.flatSignature()+"\"");
-
- if (memberDoc.isNative()) {
- printAtomTag(level, "isNative");
- }
-
- if (memberDoc.isSynchronized()) {
- printAtomTag(level, "isSynchronized");
- }
- }
-
- protected void outputMethodDoc(int level, MethodDoc methodDoc) {
- println();
- printOpenTag(level, "methoddoc name=\""+methodDoc.name()+"\"");
- outputExecutableMemberDocBody(level+1, methodDoc);
- outputType(level+1, "returns", methodDoc.returnType());
- printCloseTag(level, "methoddoc");
- }
-
- protected void outputMemberDocBody(int level, MemberDoc memberDoc) {
- currentMember = memberDoc;
- outputProgramElementDocBody(level, memberDoc);
- }
-
- protected void outputFieldDocBody(int level, FieldDoc fieldDoc) {
- outputType(level, "type", fieldDoc.type());
- if (fieldDoc.isTransient()) {
- printAtomTag(level, "isTransient");
- }
- if (fieldDoc.isVolatile()) {
- printAtomTag(level, "isVolatile");
- }
- }
-
- private void outputFieldDoc(int level, FieldDoc fieldDoc) {
- println();
- printOpenTag(level, "fielddoc name=\""+fieldDoc.name()+"\"");
- outputMemberDocBody(level+1, fieldDoc);
- outputFieldDocBody(level+1, fieldDoc);
- printCloseTag(level, "fielddoc");
- }
-
- protected void outputConstructorDoc(int level, ConstructorDoc constructorDoc) {
- println();
- printOpenTag(level, "constructordoc name=\""+constructorDoc.name()+"\"");
- outputExecutableMemberDocBody(level+1, constructorDoc);
- printCloseTag(level, "constructordoc");
- }
-
- protected void outputSuperInterfacesRec(int level, ClassDoc classDoc) {
- if (null!=classDoc) {
- ClassDoc[] interfaces = classDoc.interfaces();
- if (null != interfaces) {
- for (int i=0, ilim=interfaces.length; i<ilim; ++i) {
- outputType(level, "superimplements", interfaces[i]);
- }
- }
- outputSuperInterfacesRec(level, classDoc.superclass());
- }
- }
-
- protected void outputClassDocSummary(ClassDoc classDoc) {
- println();
- printOpenTag(1, "classdoc name=\""+classDoc.name()+"\" qualifiedtypename=\""+classDoc.qualifiedName()+"\" isIncluded=\"true\"");
- if (null!=classDoc.superclass()) {
- outputType(2, "superclass", classDoc.superclass());
- }
-
- ClassDoc[] interfaces = classDoc.interfaces();
- for (int i=0, ilim=interfaces.length; i<ilim; ++i) {
- outputType(2, "implements", interfaces[i]);
- }
- outputSuperInterfacesRec(2, classDoc.superclass());
-
- printAtomTag(2, "containingPackage name=\""+classDoc.containingPackage().name()+"\"");
- if (classDoc.isError()) {
- printAtomTag(2, "isError");
- }
- if (classDoc.isException()) {
- printAtomTag(2, "isException");
- }
- if (classDoc.isInterface()) {
- printAtomTag(2, "isInterface");
- }
- if (classDoc.isOrdinaryClass()) {
- printAtomTag(2, "isOrdinaryClass");
- }
-
- printCloseTag(1, "classdoc");
- }
-
- protected void outputPackageDoc(PackageDoc packageDoc) {
- println();
- printOpenTag(1, "packagedoc name=\""+packageDoc.name()+"\"");
- if (packageDoc.firstSentenceTags().length > 0) {
- printOpenTag(2, "firstSentenceTags", false);
- outputTags(3, packageDoc.firstSentenceTags(), true, CONTEXT_PACKAGE);
- printCloseTag(0, "firstSentenceTags");
- printOpenTag(2, "inlineTags", false);
- outputTags(3, packageDoc.inlineTags(), true, CONTEXT_PACKAGE);
- printCloseTag(0, "inlineTags");
- }
-
- if (packageDoc.tags().length > 0) {
- printOpenTag(2, "tags");
- outputTags(3, packageDoc.tags(), true, CONTEXT_PACKAGE);
- printCloseTag(2, "tags");
- }
-
- if (packageDoc.seeTags().length > 0) {
- printOpenTag(2, "seeTags");
- outputTags(3, packageDoc.seeTags(), true, CONTEXT_PACKAGE);
- printCloseTag(2, "seeTags");
- }
-
- ClassDoc[] allClasses = (ClassDoc[]) packageDoc.allClasses().clone();
- Arrays.sort(allClasses);
-
- if (false) {
- for (int i = 0, ilim = allClasses.length; i < ilim; ++ i) {
- printAtomTag(2, "containsClass qualifiedtypename=\""+allClasses[i].qualifiedTypeName()+"\"");
- }
- }
-
- printCloseTag(1, "packagedoc");
- }
-
- protected void outputClassDoc(ClassDoc classDoc) throws IOException {
-
- currentClass = classDoc;
-
- println();
- printOpenTag(1, "classdoc xmlns=\"http://www.w3.org/TR/REC-html40\" xmlns:"+tagPrefix+"=\"http://www.gnu.org/software/cp-tools/gjdocxml\" name=\""+classDoc.name()+"\" qualifiedtypename=\""+classDoc.qualifiedName()+"\"");
-
- ClassDoc[] interfaces = classDoc.interfaces();
- for (int i=0, ilim=interfaces.length; i<ilim; ++i) {
- outputType(2, "implements", interfaces[i]);
- }
- outputSuperInterfacesRec(2, classDoc.superclass());
-
- outputProgramElementDocBody(2, classDoc);
- if (classDoc.isAbstract())
- printAtomTag(2, "isAbstract");
- if (classDoc.isSerializable())
- printAtomTag(2, "isSerializable");
- if (classDoc.isExternalizable())
- printAtomTag(2, "isExternalizable");
- if (classDoc.definesSerializableFields()) {
- printAtomTag(2, "definesSerializableFields");
- }
-
- ConstructorDoc[] constructors = classDoc.constructors();
- for (int i=0, ilim=constructors.length; i<ilim; ++i) {
- outputConstructorDoc(2, constructors[i]);
- }
-
- MethodDoc[] methods = classDoc.methods();
- for (int i=0, ilim=methods.length; i<ilim; ++i) {
- outputMethodDoc(2, methods[i]);
- }
-
- FieldDoc[] fields = classDoc.fields();
- for (int i=0, ilim=fields.length; i<ilim; ++i) {
- outputFieldDoc(2, fields[i]);
- }
-
- if (classDoc.serializableFields().length > 0) {
- printOpenTag(2, "serializableFields");
-
- FieldDoc[] sfields = classDoc.serializableFields();
- for (int i=0, ilim=sfields.length; i<ilim; ++i) {
- outputFieldDoc(2, sfields[i]);
- }
- printCloseTag(2, "serializableFields");
- }
-
- Java2xhtml java2xhtml = new Java2xhtml();
- Properties properties = new Properties();
- properties.setProperty("isCodeSnippet", "true");
- properties.setProperty("hasLineNumbers", "true");
- java2xhtml.setProperties(properties);
-
- if (null == classDoc.containingClass() && docTransletOptions.linksource) {
- printOpenTag(2, "source");
- StringWriter sourceBuffer = new StringWriter();
- File sourceFile = new File(((GjdocPackageDoc)classDoc.containingPackage()).packageDirectory(),
- classDoc.name() + ".java");
- FileReader sourceReader = new FileReader(sourceFile);
- IOToolkit.copyStream(sourceReader, sourceBuffer);
- print(java2xhtml.makeHTML(sourceBuffer.getBuffer(), sourceFile.getName()));
- printCloseTag(2, "source");
- }
-
- ClassDoc superclassDoc = classDoc.superclass();
- while (superclassDoc != null) {
- outputType(2, "superclass", superclassDoc, false);
-
- // FIXME: remove the following after adjusting the XSLT sheets:
- printAtomTag(3, "containingPackage name=\"" + superclassDoc.containingPackage().name() + "\"");
-
- MethodDoc[] superMethods = superclassDoc.methods();
- if (null != superMethods) {
- for (int i=0, ilim=superMethods.length; i<ilim; ++i) {
- printAtomTag(3, "methoddoc name=\"" + superMethods[i].name() + "\" signature=\"" + superMethods[i].signature() + "\"");
- }
- }
-
- FieldDoc[] superFields = superclassDoc.fields();
- if (null != superFields) {
- for (int i=0, ilim=superFields.length; i<ilim; ++i) {
- printAtomTag(3, "fielddoc name=\"" + superFields[i].name() + "\"");
- }
- }
- printCloseTag(2, "superclass");
-
- superclassDoc = superclassDoc.superclass();
- }
-
- outputUsage(classDoc, 2);
-
- printCloseTag(1, "classdoc");
-
- currentClass = null;
- currentMember = null;
- currentExecMember = null;
- }
-
- protected int outputHeritageOpen(int level, ClassDoc classDoc) {
-
- ClassDoc superClassDoc = classDoc.superclass();
- if (null != superClassDoc) {
- level = outputHeritageOpen(level, superClassDoc);
- ++ level;
- }
- outputType(level, "heritage", classDoc, false);
- return level;
- }
-
- protected void outputHeritageClose(int level, ClassDoc classDoc) {
-
- ClassDoc superClassDoc = classDoc.superclass();
- if (null != superClassDoc) {
- outputHeritageClose(level + 1, superClassDoc);
- }
- printCloseTag(level, "heritage");
- }
-
- protected void outputDocBody(int level, Doc doc) {
-
- int context = CONTEXT_TYPE;
-
- if (doc.isClass()) {
- printAtomTag(level, "isClass");
-
- ClassDoc classDoc = (ClassDoc)doc;
- ClassDoc[] classes = rootDoc.classes();
- for (int i=0, ilim=classes.length; i<ilim; ++i) {
- if (classes[i].superclass() == classDoc) {
- outputType(level, "extended-by", classes[i]);
- }
- }
-
- outputHeritageOpen(level, classDoc);
- outputHeritageClose(level, classDoc);
- }
- if (doc.isConstructor()) {
- printAtomTag(level, "isConstructor");
- context = CONTEXT_CONSTRUCTOR;
- }
- if (doc.isError()) {
- printAtomTag(level, "isError");
- }
- if (doc.isException()) {
- printAtomTag(level, "isException");
- }
- if (doc.isField()) {
- printAtomTag(level, "isField");
- context = CONTEXT_FIELD;
- }
- if (doc.isIncluded()) {
- printAtomTag(level, "isIncluded");
- }
- if (doc.isInterface()) {
- printAtomTag(level, "isInterface");
-
- ClassDoc classDoc = (ClassDoc)doc;
- ClassDoc[] classes = rootDoc.classes();
- for (int i=0, ilim=classes.length; i<ilim; ++i) {
- ClassDoc[] implementedInterfaces = classes[i].interfaces();
- for (int j=0; j<implementedInterfaces.length; ++j) {
- if (implementedInterfaces[j] == classDoc) {
- if (classDoc.isInterface()) {
- outputType(level, "subinterface", classes[i]);
- }
- else {
- outputType(level, "implemented-by", classes[i]);
- }
- break;
- }
- }
- }
- }
- if (doc.isMethod()) {
- printAtomTag(level, "isMethod");
- context = CONTEXT_METHOD;
- }
- if (doc.isOrdinaryClass()) {
- printAtomTag(level, "isOrdinaryClass");
- }
-
- if (doc.inlineTags().length > 0) {
- printOpenTag(level, "inlineTags", false);
- outputTags(level+1, doc.inlineTags(), true, context);
- printCloseTag(0, "inlineTags");
- }
-
- if (doc.firstSentenceTags().length > 0) {
- printOpenTag(level, "firstSentenceTags", false);
- outputTags(level+1, doc.firstSentenceTags(), true, context);
- printCloseTag(0, "firstSentenceTags");
- }
-
- if (doc.tags().length > 0) {
- printOpenTag(level, "tags");
- outputTaglets(level+1, doc.tags(), true, context);
- printCloseTag(level, "tags");
- }
-
- if (doc.seeTags().length > 0) {
- printOpenTag(level, "seeTags");
- outputTags(level+1, doc.seeTags(), true, context);
- printCloseTag(level, "seeTags");
- }
-
- SourcePosition position = doc.position();
- if (null != position) {
- printAtomTag(level, "position file=\"" + position.file().getAbsolutePath() + "\" line=\"" + position.line() + "\" column=\"" + position.column() + "\"");
- }
- }
-
- protected void outputProgramElementDocBody(int level, ProgramElementDoc programElementDoc) {
- outputDocBody(level, programElementDoc);
- printAtomTag(level, "containingPackage name=\""+programElementDoc.containingPackage().name()+"\"");
- if (null!=programElementDoc.containingClass()) {
- outputType(level, "containingClass", programElementDoc.containingClass());
- }
- String access;
- if (programElementDoc.isPublic())
- access="public";
- else if (programElementDoc.isProtected())
- access="protected";
- else if (programElementDoc.isPrivate())
- access="private";
- else if (programElementDoc.isPackagePrivate())
- access="package";
- else
- throw new RuntimeException("Huh? "+programElementDoc+" is neither public, protected, private nor package protected.");
- printAtomTag(level, "access scope=\""+access+"\"");
- if (programElementDoc.isFinal())
- printAtomTag(level, "isFinal");
- if (programElementDoc.isStatic())
- printAtomTag(level, "isStatic");
- }
-
- protected void outputTags(int level, Tag[] tags, boolean descend, int context) {
-
- for (int i=0; i<tags.length; ++i) {
- outputTag(tags[i], level, descend, context, i == tags.length-1);
- }
- }
-
- protected void outputTag(Tag tag, int level, boolean descend, int context, boolean lastTag) {
-
- if (!"Text".equals(tag.name())) {
- printOpenTag(0 /* don't introduce additional whitespace */,
- "tag kind=\""+tag.kind()+"\" name=\""+tag.name()+"\"", false);
- }
- if (tag instanceof ThrowsTag) {
- ThrowsTag throwsTag = (ThrowsTag)tag;
- if (null!=throwsTag.exception()) {
- outputType(level+1, "exception", throwsTag.exception());
- }
- else {
- StringBuffer sb = new StringBuffer("Exception ");
- sb.append(throwsTag.exceptionName());
- sb.append(" not found in ");
- if (currentExecMember instanceof MethodDoc) {
- MethodDoc m = (MethodDoc)currentExecMember;
- sb.append(m.returnType().typeName());
- sb.append(m.returnType().dimension());
- sb.append(' ');
- }
- sb.append(currentClass.qualifiedName());
- sb.append('.');
- sb.append(currentExecMember.name());
- sb.append('(');
- Parameter[] params = currentExecMember.parameters();
- for (int j=0; j < params.length; j++) {
- sb.append(params[j].type().typeName());
- sb.append(params[j].type().dimension());
- sb.append(' ');
- sb.append(params[j].name());
- if (j != params.length-1)
- sb.append(", ");
- }
- sb.append(')');
- printWarning(sb.toString());
-
- printAtomTag(level+1, "exception typename=\""+throwsTag.exceptionName()+"\"");
- }
- }
- else if (tag instanceof ParamTag) {
- ParamTag paramTag = (ParamTag)tag;
- printAtomTag(level+1, "parameter name=\""+paramTag.parameterName()+"\"");
- }
-
- if (null != tag.text()) {
- //printOpenTag(level+1, "text", false);
- if (fixHTML) {
- print(htmlRepairer.getWellformedHTML(tag.text()));
- }
- else {
- print("<![CDATA["+cdata(tag.text())+"]]>");
- }
- //printCloseTag(0 /* don't introduce additional whitespace */, "text");
- }
- else {
- printWarning("Tag got null text: "+tag);
- }
-
- if ((descend && ("@throws".equals(tag.name()) || "@param".equals(tag.name()))) || "@deprecated".equals(tag.name())) {
- if (tag.firstSentenceTags().length>0) {
- printOpenTag(level+1, "firstSentenceTags", false);
- outputTags(level+2, tag.firstSentenceTags(), false, context);
- printCloseTag(0, "firstSentenceTags");
- }
-
- if (tag.inlineTags().length>0) {
- printOpenTag(level+1, "inlineTags", false);
- outputTags(level+2, tag.firstSentenceTags(), false, context);
- printCloseTag(0, "inlineTags");
- }
- }
-
- if (fixHTML && lastTag) {
- String terminateText = htmlRepairer.terminateText();
- if (null != terminateText && terminateText.length() > 0) {
- print(terminateText);
- }
- }
-
- if (!"Text".equals(tag.name())) {
-
- Taglet inlineTaglet = (Taglet)tagletMap.get(tag.name().substring(1));
- if (null != inlineTaglet && inlineTaglet.isInlineTag()) {
- printOpenTag(0, "inlineTagletText", false);
- print(inlineTaglet.toString(tag));
- printCloseTag(0, "inlineTagletText");
- }
-
- printCloseTag(0, "tag", false);
- }
- }
-
- void outputTaglets(int level, Tag[] tags, boolean descend, int context)
- {
- for (Iterator it = tagletMap.keySet().iterator(); it.hasNext(); ) {
- String tagName = (String)it.next();
- Object o = tagletMap.get(tagName);
- Taglet taglet = (Taglet)o;
-
- if (!taglet.isInlineTag()
- && ((context != CONTEXT_CONSTRUCTOR || taglet.inConstructor())
- || (context != CONTEXT_FIELD || taglet.inField())
- || (context != CONTEXT_METHOD || taglet.inMethod())
- || (context != CONTEXT_OVERVIEW || taglet.inOverview())
- || (context != CONTEXT_PACKAGE || taglet.inPackage())
- || (context != CONTEXT_TYPE || taglet.inType()))) {
-
- List tagsOfThisType = new ArrayList();
- for (int i=0, ilim=tags.length; i<ilim; ++i) {
- if (tags[i].name().substring(1).equals(tagName)) {
- tagsOfThisType.add(tags[i]);
- }
- }
-
- if (!tagsOfThisType.isEmpty()) {
- Tag[] tagletTags = (Tag[])tagsOfThisType.toArray(new Tag[tagsOfThisType.size()]);
- if (taglet instanceof StandardTaglet) {
- Iterator tagIterator = tagsOfThisType.iterator();
- while (tagIterator.hasNext()) {
- Tag tag = (Tag)tagIterator.next();
- outputTag(tag, level, descend, context, !tagIterator.hasNext());
- }
- }
- else {
- String tagletString = taglet.toString(tagletTags);
- if (null != tagletString) {
- printOpenTag(0, "tag name=\"" + tagName + "\" taglet-generated=\"true\"");
- if (fixHTML) {
- print(htmlRepairer.getWellformedHTML(tagletString));
- print(htmlRepairer.terminateText());
- }
- else {
- print("<![CDATA["+cdata(tagletString)+"]]>");
- }
- printCloseTag(0, "tag", false);
- }
- }
- }
- }
- }
- }
-
- /**
- * Inofficial entry point. We got an instance here.
- */
- protected boolean instanceStart(RootDoc _rootDoc) {
-
- this.rootDoc = _rootDoc;
- _rootDoc = null;
-
- boolean xmlOnly = true;
-
- // Set the default Taglet order
-
- registerTaglet(new VersionTaglet());
- registerTaglet(new AuthorTaglet());
- //registerTaglet(new SinceTaglet());
- registerTaglet(new StandardTaglet("deprecated"));
- registerTaglet(new StandardTaglet("see"));
- registerTaglet(new StandardTaglet("param"));
-
- // Set the built-in Taglet filter
-
- AuthorTaglet.setTagletEnabled(false);
- VersionTaglet.setTagletEnabled(false);
- SinceTaglet.setTagletEnabled(true);
- DeprecatedTaglet.setTagletEnabled(true);
-
- try {
- {
-
- // Process command line options passed through to this doclet
-
- TargetContext targetContext = null;
-
- TargetContext htmlTargetContext
- = new TargetContext(DocTranslet.fromClasspath("/doctranslets/html/gjdoc.xsl"),
- targetDirectory);
-
- for (int i=0, ilim=rootDoc.options().length; i<ilim; ++i) {
-
- String[] option = rootDoc.options()[i];
- String optionTag = option[0];
-
- if ("-d".equals(optionTag)) {
- if (null == targetDirectory) {
- targetDirectory = new File(option[1]);
- }
- if (null != targetContext) {
- targetContext.setTargetDirectory(targetDirectory);
- }
- }
-
- else if ("-nofixhtml".equals(optionTag)) {
- fixHTML = false;
- printError("-nofixhtml currently not supported.");
- return false;
- }
- else if ("-compress".equals(optionTag)) {
- compress = true;
- }
- else if ("-nohtmlwarn".equals(optionTag)) {
- noHTMLWarn = true;
- }
- else if ("-noemailwarn".equals(optionTag)) {
- noEmailWarn = true;
- }
- else if ("-indentstep".equals(optionTag)) {
- indentStep = Integer.parseInt(option[1]);
- }
- else if ("-doctranslet".equals(optionTag)) {
- targets.add(targetContext = new TargetContext(DocTranslet.fromJarFile(new File(option[1])),
- targetDirectory));
- }
- else if ("-genhtml".equals(optionTag)) {
- htmlTargetContext.setTargetDirectory(targetDirectory);
- targets.add(targetContext = htmlTargetContext);
- xmlOnly = false;
- }
- else if ("-geninfo".equals(optionTag)) {
- targetContext
- = new TargetContext(DocTranslet.fromClasspath("/doctranslets/info/gengj.xsl"),
- targetDirectory);
- targets.add(targetContext);
- if (!fixHTML) {
- printNotice("NOTE: -geninfo implies -fixhtml.");
- fixHTML = true;
- }
- xmlOnly = false;
- }
- else if ("-gendocbook".equals(optionTag)) {
- targetContext = new TargetContext(DocTranslet.fromClasspath("/doctranslets/docbook/gengj.xsl"),
- targetDirectory);
- targets.add(targetContext);
- if (!fixHTML) {
- printNotice("NOTE: -gendocbook implies -fixhtml.");
- fixHTML = true;
- }
- }
- else if ("-genpdf".equals(optionTag)) {
- targetContext
- = new TargetContext(DocTranslet.fromClasspath("/doctranslets/docbook/gengj.xsl"),
- targetDirectory);
- /** "gnu.classpath.tools.doclets.xmldoclet.DocBookPostprocessor") **/
- targets.add(targetContext);
- if (!fixHTML) {
- printNotice("NOTE: -genpdf implies -fixhtml.");
- fixHTML = true;
- }
- }
- else if ("-xmlonly".equals(optionTag)) {
- xmlOnly = true;
- }
- else if ("-bottomnote".equals(optionTag)) {
-
- FileReader reader = new FileReader(option[1]);
- StringWriter writer = new StringWriter();
- char[] buf = new char[256];
- int nread;
- while ((nread = reader.read(buf)) >= 0) {
- writer.write(buf, 0, nread);
- }
- writer.flush();
- bottomNote = writer.toString();
- writer.close();
- reader.close();
- }
- else if ("-title".equals(optionTag)) {
-
- title = option[1];
- }
- else if ("-workpath".equals(optionTag)) {
-
- workingPath = option[1];
- }
- else if ("-tagletpath".equals(optionTag)) {
-
- if (null == tagletPath) {
- tagletPath = option[1];
- }
- else {
- tagletPath = tagletPath + File.pathSeparator + option[1];
- }
- }
- else if ("-taglet".equals(optionTag)) {
-
- boolean tagletLoaded = false;
-
- String useTagletPath = this.tagletPath;
- if (null == useTagletPath) {
- useTagletPath = System.getProperty("java.class.path");
- }
-
- try {
- Class tagletClass;
- try {
- tagletClass
- = new FileSystemClassLoader(useTagletPath).loadClass(option[1]);
- }
- catch (ClassNotFoundException e) {
- // If not found on specified tagletpath, try default classloader
- tagletClass
- = Class.forName(option[1]);
- }
- Method registerTagletMethod
- = tagletClass.getDeclaredMethod("register", new Class[] { java.util.Map.class });
-
- if (!registerTagletMethod.getReturnType().equals(Void.TYPE)) {
- printError("Taglet class '" + option[1] + "' found, but register method doesn't return void.");
- }
- else if (registerTagletMethod.getExceptionTypes().length > 0) {
- printError("Taglet class '" + option[1] + "' found, but register method contains throws clause.");
- }
- else if ((registerTagletMethod.getModifiers() & (Modifier.STATIC | Modifier.PUBLIC | Modifier.ABSTRACT)) != (Modifier.STATIC | Modifier.PUBLIC)) {
- printError("Taglet class '" + option[1] + "' found, but register method isn't public static, or is abstract..");
- }
- else {
- Map tempMap = new HashMap();
- registerTagletMethod.invoke(null, new Object[] { tempMap });
- tagletLoaded = true;
- String name = (String)tempMap.keySet().iterator().next();
- Taglet taglet = (Taglet)tempMap.get(name);
- tagletMap.put(name, taglet);
- mentionedTags.add(taglet);
- }
- }
- catch (NoSuchMethodException e) {
- printError("Taglet class '" + option[1] + "' found, but doesn't contain the register method.");
- }
- catch (SecurityException e) {
- printError("Taglet class '" + option[1] + "' cannot be loaded: " + e.getMessage());
- }
- catch (InvocationTargetException e) {
- printError("Taglet class '" + option[1] + "' found, but register method throws exception: " + e.toString());
- }
- catch (IllegalAccessException e) {
- printError("Taglet class '" + option[1] + "' found, but there was a problem when accessing the register method: " + e.toString());
- }
- catch (IllegalArgumentException e) {
- printError("Taglet class '" + option[1] + "' found, but there was a problem when accessing the register method: " + e.toString());
- }
- catch (ClassNotFoundException e) {
- printError("Taglet class '" + option[1] + "' cannot be found.");
- }
- if (!tagletLoaded) {
- return false;
- }
- }
- else if ("-author".equals(optionTag)) {
- AuthorTaglet.setTagletEnabled(true);
- }
- else if ("-version".equals(optionTag)) {
- VersionTaglet.setTagletEnabled(true);
- }
- else if ("-nosince".equals(optionTag)) {
- SinceTaglet.setTagletEnabled(false);
- }
- else if ("-nodeprecated".equals(optionTag)) {
- DeprecatedTaglet.setTagletEnabled(false);
- }
- else if ("-authormail".equals(optionTag)) {
-
- if ("no-replace".equalsIgnoreCase(option[1])) {
- AuthorTaglet.setEmailReplacementType(AuthorTaglet.EmailReplacement.NO_REPLACEMENT);
- }
- else if ("mailto-name".equalsIgnoreCase(option[1])) {
- AuthorTaglet.setEmailReplacementType(AuthorTaglet.EmailReplacement.MAILTO_NAME);
- }
- else if ("name-mailto-address".equalsIgnoreCase(option[1])) {
- AuthorTaglet.setEmailReplacementType(AuthorTaglet.EmailReplacement.NAME_MAILTO_ADDRESS);
- }
- else if ("name-mangled-address".equalsIgnoreCase(option[1])) {
- AuthorTaglet.setEmailReplacementType(AuthorTaglet.EmailReplacement.NAME_MANGLED_ADDRESS);
- }
- else {
- printError("Invalid value for option '-authortag-email'. Allowed values are:"
- + " no-replace, mailto-name, name-mailto-address, name-mangled-address.");
- return false;
- }
- }
- else if ("-mailmangledot".equals(optionTag)) {
- AuthorTaglet.setDotReplacement(option[1]);
- }
- else if ("-mailmangleat".equals(optionTag)) {
- AuthorTaglet.setAtReplacement(option[1]);
- }
- else if ("-docfilessubdirs".equals(optionTag)) {
- docFilesSubdirsEnabled = true;
- }
- else if ("-excludedocfilessubdir".equals(optionTag)) {
- StringTokenizer st = new StringTokenizer(option[1]);
- while (st.hasMoreTokens()) {
- excludeDocFilesSubDirs.add(st.nextToken());
- }
- }
- else if ("-nonavbar".equals(optionTag)) {
- docTransletOptions.nonavbar = true;
- }
- else if ("-noindex".equals(optionTag)) {
- docTransletOptions.noindex = true;
- }
- else if ("-notree".equals(optionTag)) {
- docTransletOptions.notree = true;
- }
- else if ("-nocomment".equals(optionTag)) {
- docTransletOptions.nocomment = true;
- }
- else if ("-nohelp".equals(optionTag)) {
- docTransletOptions.nohelp = true;
- }
- else if ("-splitindex".equals(optionTag)) {
- docTransletOptions.splitindex = true;
- }
- else if ("-linksource".equals(optionTag)) {
- docTransletOptions.linksource = true;
- }
- else if ("-windowtitle".equals(optionTag)) {
- docTransletOptions.windowtitle = option[1];
- }
- else if ("-helpfile".equals(optionTag)) {
- docTransletOptions.helpfile = new File(option[1]).toURL().toString();
- }
- else if ("-stylesheetfile".equals(optionTag)) {
- docTransletOptions.stylesheetfile = new File(option[1]).toURL().toString();
- }
- else if ("-header".equals(optionTag)) {
- docTransletOptions.header = option[1];
- }
- else if ("-footer".equals(optionTag)) {
- docTransletOptions.footer = option[1];
- }
- else if ("-bottom".equals(optionTag)) {
- docTransletOptions.bottom = option[1];
- }
- else if ("-doctitle".equals(optionTag)) {
- docTransletOptions.doctitle = option[1];
- }
- else if ("-nodeprecatedlist".equals(optionTag)) {
- docTransletOptions.nodeprecatedlist = true;
- }
- else if ("-uses".equals(optionTag)) {
- docTransletOptions.uses = true;
- }
- else if ("-group".equals(optionTag)) {
- if (!processGroupOption(option[1], option[2])) {
- printError("Invalid package wildcard list in -group option \"" + option[1] + "\" " + option[2]);
- return false;
- }
- }
- else if ("-tag".equals(optionTag)) {
- String tagSpec = option[1];
- boolean validTagSpec = false;
- int ndx1 = tagSpec.indexOf(':');
- if (ndx1 < 0) {
- Taglet taglet = (Taglet)tagletMap.get(tagSpec);
- if (null == taglet) {
- printError("There is no standard tag '" + tagSpec + "'.");
- }
- else {
- if (mentionedTags.contains(taglet)) {
- printError("Tag '" + tagSpec + "' has been added or moved before.");
- }
- else {
- mentionedTags.add(taglet);
-
- // re-append taglet
- tagletMap.remove(tagSpec);
- tagletMap.put(tagSpec, taglet);
- }
- }
- }
- else {
- int ndx2 = tagSpec.indexOf(':', ndx1 + 1);
- if (ndx2 > ndx1 && ndx2 < tagSpec.length() - 1) {
- String tagName = tagSpec.substring(0, ndx1);
- String tagHead = null;
- if (tagSpec.charAt(ndx2 + 1) == '\"') {
- if (tagSpec.charAt(tagSpec.length() - 1) == '\"') {
- tagHead = tagSpec.substring(ndx2 + 2, tagSpec.length() - 1);
- validTagSpec = true;
- }
- }
- else {
- tagHead = tagSpec.substring(ndx2 + 1);
- validTagSpec = true;
- }
-
- boolean tagScopeOverview = false;
- boolean tagScopePackages = false;
- boolean tagScopeTypes = false;
- boolean tagScopeConstructors = false;
- boolean tagScopeMethods = false;
- boolean tagScopeFields = false;
- boolean tagDisabled = false;
-
- tag_option_loop:
- for (int n=ndx1+1; n<ndx2; ++n) {
- switch (tagSpec.charAt(n)) {
- case 'X':
- tagDisabled = true;
- break;
- case 'a':
- tagScopeOverview = true;
- tagScopePackages = true;
- tagScopeTypes = true;
- tagScopeConstructors = true;
- tagScopeMethods = true;
- tagScopeFields = true;
- break;
- case 'o':
- tagScopeOverview = true;
- break;
- case 'p':
- tagScopePackages = true;
- break;
- case 't':
- tagScopeTypes = true;
- break;
- case 'c':
- tagScopeConstructors = true;
- break;
- case 'm':
- tagScopeMethods = true;
- break;
- case 'f':
- tagScopeFields = true;
- break;
- default:
- validTagSpec = false;
- break tag_option_loop;
- }
- }
-
- if (validTagSpec) {
- GenericTaglet taglet
- = new GenericTaglet(tagName,
- tagHead,
- tagScopeOverview,
- tagScopePackages,
- tagScopeTypes,
- tagScopeConstructors,
- tagScopeMethods,
- tagScopeFields);
- taglet.setTagletEnabled(!tagDisabled);
- taglet.register(tagletMap);
- mentionedTags.add(taglet);
- }
- }
- }
- if (!validTagSpec) {
- printError("Value for option -tag must be in format \"<tagname>:Xaoptcmf:<taghead>\".");
- }
- }
- }
-
- // Use current directory if target directory hasn't been set.
- if (null == targetDirectory) {
- targetDirectory = new File(System.getProperty("user.dir"));
- }
- if (null != targetContext) {
- targetContext.setTargetDirectory(targetDirectory);
- }
-
- // It is illegal to specify targets AND -xmlonly.
-
- if (xmlOnly && targets.size() > 0) {
-
- printError("You can only specify one of -xmlonly and a target format.");
- return false;
- }
-
- // If no target was specified and XML only was not
- // requested, use HTML as default target.
-
- if (!xmlOnly && targets.size() == 0) {
- targets.add(targetContext = htmlTargetContext);
- }
-
- // Set the same target directory for all output.
-
- // FIXME: Allow separate target directories for different
- // output formats.
-
- for (Iterator it = targets.iterator(); it.hasNext(); ) {
- TargetContext t = (TargetContext)it.next();
- t.setTargetDirectory(targetDirectory);
- }
-
- // Create temporary directory if necessary
-
- if (xmlOnly) {
-
- xmlTargetDirectory = targetDirectory;
- }
- else {
-
- File workingTopDirectory = new File(workingPath);
-
- workingDirectory = new File(workingTopDirectory, "gjdoc.tmp."+System.currentTimeMillis());
-
- if (!workingDirectory.mkdir()) {
- printError("Cannot create temporary directory at "+System.getProperty("java.io.tmpdir"));
- return false;
- }
-
- File xmlTempDirectory = new File(workingDirectory, "xmloutput");
-
- if (!xmlTempDirectory.mkdir()) {
- printError("Cannot create temporary directory for XML output at "+System.getProperty("java.io.tmpdir"));
- return false;
- }
-
- xmlTargetDirectory = xmlTempDirectory;
- }
-
- // Create target directory if necessary
-
- if (!targetDirectory.exists()) {
- printNotice("Creating destination directory: \""
- + targetDirectory + "\"");
- if (!targetDirectory.mkdirs()) {
- printError("Failed to create destination directory \""
- + targetDirectory + "\"");
- return false;
- }
- }
-
- // Check for deprecation
-
- boolean hasDeprecatedClasses = false;
- boolean hasDeprecatedInterfaces = false;
- boolean hasDeprecatedExceptions = false;
- boolean hasDeprecatedErrors = false;
- boolean hasDeprecatedMethods = false;
- boolean hasDeprecatedFields = false;
-
- {
- ClassDoc[] classes = rootDoc.classes();
- for (int i = 0, ilim = classes.length; i < ilim; ++ i) {
- ClassDoc c = classes[i];
- Tag[] deprecatedTags = c.tags("deprecated");
- if (null != deprecatedTags && 0 != deprecatedTags.length) {
- if (c.isInterface()) {
- hasDeprecatedInterfaces = true;
- }
- else if (c.isException()) {
- hasDeprecatedExceptions = true;
- }
- else if (c.isError()) {
- hasDeprecatedErrors = true;
- }
- else /*if (c.isOrdinaryClass())*/ {
- hasDeprecatedClasses = true;
- }
- }
-
- MethodDoc[] methods = c.methods();
- for (int j = 0, jlim = methods.length; j < jlim; ++ j) {
- MethodDoc m = methods[j];
- deprecatedTags = m.tags("deprecated");
- if (null != deprecatedTags && 0 != deprecatedTags.length) {
- hasDeprecatedMethods = true;
- }
- }
-
- FieldDoc[] fields = c.fields();
- for (int j = 0, jlim = fields.length; j < jlim; ++ j) {
- FieldDoc f = fields[j];
- deprecatedTags = f.tags("deprecated");
- if (null != deprecatedTags && 0 != deprecatedTags.length) {
- hasDeprecatedFields = true;
- }
- }
- }
- }
-
- htmlRepairer = new HtmlRepairer(rootDoc, noHTMLWarn, noEmailWarn,
- currentClass, currentMember,
- false);
-
- collectUsage();
-
- // Begin XML generation
-
- printNotice("Writing XML Index file...");
-
- // Assign output stream
-
- setTargetFile("index.xml");
-
- // Output XML document header
-
- println(0, "<?xml version=\"1.0\"?>");
- println("<!DOCTYPE gjdoc SYSTEM \"dtd/gjdoc.dtd\">");
- println();
- printOpenTag(0, "rootdoc xmlns=\"http://www.w3.org/TR/REC-html40\" xmlns:gjdoc=\"http://www.gnu.org/software/cp-tools/gjdocxml\"");
-
- println();
- println(1, "<!-- Tags from overview page, if available -->");
-
- if (rootDoc.firstSentenceTags().length > 0) {
- printOpenTag(2, "firstSentenceTags", false);
- outputTags(3, rootDoc.firstSentenceTags(), true, CONTEXT_PACKAGE);
- printCloseTag(0, "firstSentenceTags");
- }
-
- if (rootDoc.inlineTags().length > 0) {
- printOpenTag(2, "inlineTags");
- outputTags(3, rootDoc.inlineTags(), true, CONTEXT_PACKAGE);
- printCloseTag(2, "inlineTags");
- }
-
- if (null != bottomNote) {
- printOpenTag(1, "bottomnote");
- print(bottomNote);
- printCloseTag(1, "bottomnote");
- }
-
- if (null != title) {
- printOpenTag(1, "title");
- println(2, title);
- printCloseTag(1, "title");
- }
-
- printOpenTag(1, "created");
- println(2, DateFormat.getDateInstance(DateFormat.LONG, Locale.US).format(new java.util.Date()));
- printCloseTag(1, "created");
-
- if (hasDeprecatedClasses) printAtomTag(1, "hasDeprecatedClasses");
- if (hasDeprecatedInterfaces) printAtomTag(1, "hasDeprecatedInterfaces");
- if (hasDeprecatedExceptions) printAtomTag(1, "hasDeprecatedExceptions");
- if (hasDeprecatedErrors) printAtomTag(1, "hasDeprecatedErrors");
- if (hasDeprecatedMethods) printAtomTag(1, "hasDeprecatedMethods");
- if (hasDeprecatedFields) printAtomTag(1, "hasDeprecatedFields");
-
- // Output summary of all classes specified on command line
-
- println();
- println(1, "<!-- Classes specified by user on command line -->");
- ClassDoc[] specifiedClasses = rootDoc.specifiedClasses();
- for (int i=0, ilim=specifiedClasses.length; i<ilim; ++i) {
- ClassDoc sc = specifiedClasses[i];
- printAtomTag(1, "specifiedclass fqname=\""+sc.qualifiedName()+"\" name=\""+sc.name()+"\"");
- }
- specifiedClasses = null;
-
- // Output summary of all packages specified on command line
-
- println();
- println(1, "<!-- Packages specified by user on command line -->");
- PackageDoc[] specifiedPackages = rootDoc.specifiedPackages();
- for (int i=0, ilim=specifiedPackages.length; i<ilim; ++i) {
- PackageDoc sp = specifiedPackages[i];
- printAtomTag(1, "specifiedpackage name=\""+sp.name()+"\"");
- }
- specifiedPackages = null;
-
- // Output package group information specified on the
- // command line
-
- println();
- println(1, "<!-- Package groups specified by user on command line -->");
- {
- Iterator packageGroupIt = packageGroups.iterator();
- while (packageGroupIt.hasNext()) {
- PackageGroup packageGroup = (PackageGroup)packageGroupIt.next();
- SortedSet groupedPackages = packageGroup.getPackages();
- if (groupedPackages.isEmpty()) {
- printWarning("Package group named '"
- + packageGroup.getName() + "' didn't match any packages.");
- }
- else {
- printOpenTag(1, "packagegroup name=\"" + packageGroup.getName() + "\"");
- Iterator groupedPackageIt = groupedPackages.iterator();
- while (groupedPackageIt.hasNext()) {
- PackageDoc groupedPackageDoc = (PackageDoc)groupedPackageIt.next();
- printAtomTag(2, "package name=\"" + groupedPackageDoc.name() + "\"");
- }
- printCloseTag(1, "packagegroup");
- }
- }
- packageGroups = null;
- }
-
- // Output information on all packages for which documentation
- // has been made available via the Doclet API
-
- println();
- println(1, "<!-- Documentation for all packages -->");
- PackageDoc[] packages = rootDoc.specifiedPackages();
- for (int i=0, ilim=packages.length; i<ilim; ++i) {
- PackageDoc c = packages[i];
- outputPackageDoc(c);
- }
- packages = null;
-
- // Output brief summary on all classes for which documentation
- // has been made available via the Doclet API.
- //
- // While this is redundant, it can speed up XSLT
- // processing by orders of magnitude
-
- println();
- println(1, "<!-- Brief summary for all classes -->");
- ClassDoc[] sumclasses = rootDoc.classes();
- for (int i=0, ilim=sumclasses.length; i<ilim; ++i) {
- ClassDoc c = sumclasses[i];
- outputClassDocSummary(c);
- }
- sumclasses = null;
-
- // Output closing tag, finish output stream
-
- println();
- printCloseTag(0, "rootdoc");
-
- closeTargetFile();
-
- createIndexByName();
-
-
-
- // Output information on all classes for which documentation
- // has been made available via the Doclet API
-
- println();
- println(1, "<!-- Documentation for all classes -->");
- ClassDoc[] classes = rootDoc.classes();
- String prevPackageName = null;
- for (int i = 0, ilim = classes.length; i < ilim; ++ i) {
- ClassDoc c = classes[i];
-
- if (isVerbose()) {
- printNotice("Writing XML information for "+c.qualifiedName()+"...");
- }
- else {
- String packageName = c.containingPackage().name();
- if (null == prevPackageName || !packageName.equals(prevPackageName)) {
- printNotice("Writing XML information for "+packageName+"...");
- prevPackageName = packageName;
- }
- }
-
- setTargetFile(c.qualifiedName().replace('/','.')+".xml");
-
- println("<?xml version=\"1.0\"?>");
- println("<!DOCTYPE gjdoc SYSTEM \"dtd/gjdoc.dtd\">");
-
- outputClassDoc(c);
-
- closeTargetFile();
- }
- classes = null;
- }
-
- // Copy DTD files to temporary directory
-
- // FIXME: try to solve this via jar: URLs. but this will
- // probably break libxmlj compatibility (?)
-
- String[] resources = new String[] {
- "gjdoc.dtd",
- "gjdoc-alphaindex.dtd",
- "dbcentx.mod",
- "ent/iso-amsa.ent",
- "ent/iso-amsb.ent",
- "ent/iso-amsc.ent",
- "ent/iso-amsn.ent",
- "ent/iso-amso.ent",
- "ent/iso-amsr.ent",
- "ent/iso-box.ent",
- "ent/iso-cyr1.ent",
- "ent/iso-cyr2.ent",
- "ent/iso-dia.ent",
- "ent/iso-grk1.ent",
- "ent/iso-grk2.ent",
- "ent/iso-grk3.ent",
- "ent/iso-grk4.ent",
- "ent/iso-lat1.ent",
- "ent/iso-lat2.ent",
- "ent/iso-num.ent",
- "ent/iso-pub.ent",
- "ent/iso-tech.ent",
- };
-
- File tempDtdDirectory = new File(xmlTargetDirectory, "dtd");
- File tempDtdEntDirectory = new File(tempDtdDirectory, "ent");
-
- if ((tempDtdDirectory.exists() || tempDtdDirectory.mkdir())
- && (tempDtdEntDirectory.exists() || tempDtdEntDirectory.mkdir())) {
- for (int i = 0; i < resources.length; ++ i) {
- copyResourceToFile("/dtd/" + resources[i],
- new File(tempDtdDirectory, resources[i]));
- }
- }
- else {
- printError("Cannot create temporary directories for DTD data at " + tempDtdDirectory);
- return false;
- }
-
- // Copy package data-dir directory
-
- {
- PackageDoc[] packages = rootDoc.specifiedPackages();
- for (int i=0, ilim=packages.length; i<ilim; ++i) {
- PackageDoc c = packages[i];
- if (c instanceof GjdocPackageDoc) {
- copyPackageDataDir((GjdocPackageDoc)c);
- }
- }
- }
-
- // All information has been output. Apply stylesheet if given.
-
- gnu.classpath.tools.gjdoc.Main.releaseRootDoc();
-
- this.currentClass = null;
- this.currentMember = null;
- this.currentExecMember = null;
-
- System.gc();
-
- // From this point we are only operating on files, so we don't
- // need this anymore and can free up some memory
-
- for (Iterator it = targets.iterator(); it.hasNext(); ) {
-
- TargetContext target = (TargetContext)it.next();
-
- // We have XSLT postprocessing, run DocTranslet.
-
- //DocTranslet docTranslet = DocTranslet.fromClasspath("/doctranslets/html/gjdoc.xsl");
-
- //docTranslet.setOptions(docTransletOptions);
-
- target.getDocTranslet().setOptions(docTransletOptions);
-
- target.getDocTranslet().apply(xmlTargetDirectory,
- target.getTargetDirectory(),
- rootDoc);
- }
-
- // Done
-
- targets = null;
-
- System.gc();
- Runtime.getRuntime().runFinalization();
-
- return true;
- }
- catch (Exception e) {
-
- // Something went wrong. Report to stderr and pass error to
- // Javadoc Reporter
-
- e.printStackTrace();
- printError(e.toString());
-
- Throwable rootCause = e.getCause();
- if (null != rootCause) {
- while (null != rootCause.getCause()) {
- rootCause = rootCause.getCause();
- }
- System.err.println("Root cause:");
- rootCause.printStackTrace();
- }
-
- return false;
- }
- finally {
-
- // In any case, delete the working directory if we created one
-
- if (null != workingDirectory) {
-
- if (!deleteRecursive(workingDirectory)) {
- printWarning("Could not delete temporary directory at "+workingDirectory);
- }
- }
-
- printNotice("Done.");
- }
- }
-
- /**
- * Recursively delete the specified directory and its contents,
- * like <code>rm -Rf directory</code>
- *
- * @return <code>true</code> on success
- */
- private static boolean deleteRecursive(File directory) {
-
- boolean success = true;
-
- File[] files = directory.listFiles();
-
- for (int i=0, ilim=files.length; i<ilim; ++i) {
-
- File file = files[i];
-
- if (file.isDirectory()) {
-
- success = deleteRecursive(file) && success;
- }
- else {
-
- success = file.delete() && success;
- }
- }
-
- return directory.delete() && success;
- }
-
- /**
- * Prints a string to stdout and appends a newline. Convenience
- * method.
- */
- protected void println(String str) {
- out.println(str);
- }
-
- /**
- * Prints a string to stdout without appending a newline.
- * Convenience method.
- */
- protected void print(String str) {
- out.print(str);
- }
-
- /**
- * In standard mode, prints an empty line to stdout.
- * In thight mode, nothing happens.
- * Convenience method.
- */
- protected void println() {
- if (!compress) {
- out.println();
- }
- }
-
- /**
- * In standard mode, prints the given text indented to stdout and appends newline.
- * In tight mode, doesn't print indentation or newlines.
- */
- protected void print(int indentLevel, String msg) {
- if (compress) {
- out.print(msg);
- }
- else {
- StringBuffer indentation = new StringBuffer();
- for (int i=0; i<indentLevel*indentStep; ++i) {
- indentation.append(' ');
- }
- out.print(indentation+msg);
- }
- }
-
- /**
- * In tight mode, prints a message at a given indentation level.
- * In standard mode, appends a newline in addition.
- */
- protected void println(int indentLevel, String msg) {
- print(indentLevel, msg);
- if (!compress) out.println();
- }
-
- /**
- * Prints an atom tag at the given indentation level.
- */
- protected void printAtomTag(int level, String tag) {
- println(level, "<"+tagPrefix+":"+replaceCharsInTag(tag)+"/>");
- }
-
- /**
- * Prints an open tag at the given indentation level.
- */
- protected void printOpenTag(int level, String tag) {
- printOpenTag(level, replaceCharsInTag(tag), true);
- }
-
- /**
- * Prints an open tag at the given indentation level and
- * conditionally appends a newline (if not in tight mode).
- */
- protected void printOpenTag(int level, String tag, boolean appendNewline) {
- if (appendNewline && !compress) {
- println(level, "<"+tagPrefix+":"+replaceCharsInTag(tag)+">");
- }
- else {
- print(level, "<"+tagPrefix+":"+replaceCharsInTag(tag)+">");
- }
- }
-
- /**
- * Prints a close tag at the given indentation level.
- */
- protected void printCloseTag(int level, String tag) {
- printCloseTag(level, tag, true);
- }
-
- /**
- * Prints a close tag at the given indentation level and
- * conditionally appends a newline (if not in tight mode).
- */
- protected void printCloseTag(int level, String tag, boolean appendNewline) {
- if (appendNewline && !compress) {
- println(level, "</"+tagPrefix+":"+replaceCharsInTag(tag)+">");
- }
- else {
- print(level, "</"+tagPrefix+":"+replaceCharsInTag(tag)+">");
- }
- }
-
- public static int optionLength(String option) {
- if ("-d".equals(option)) return 2;
- else if ("-fixhtml".equals(option)) return 1;
- else if ("-compress".equals(option)) return 1;
- else if ("-nohtmlwarn".equals(option)) return 1;
- else if ("-noemailwarn".equals(option)) return 1;
- else if ("-indentstep".equals(option)) return 2;
- else if ("-xslsheet".equals(option)) return 2;
- else if ("-xsltdriver".equals(option)) return 2;
- else if ("-postprocess".equals(option)) return 2;
- else if ("-genhtml".equals(option)) return 1;
- else if ("-geninfo".equals(option)) return 1;
- else if ("-gendocbook".equals(option)) return 1;
- else if ("-xmlonly".equals(option)) return 1;
- else if ("-bottomnote".equals(option)) return 2;
- else if ("-workpath".equals(option)) return 2;
- else if ("-title".equals(option)) return 2;
- else if ("-tagletpath".equals(option)) return 2;
- else if ("-taglet".equals(option)) return 2;
- else if ("-authormail".equals(option)) return 2;
- else if ("-mailmangledot".equals(option)) return 2;
- else if ("-mailmangleat".equals(option)) return 2;
- else if ("-noindex".equals(option)) return 1;
- else if ("-nocomment".equals(option)) return 1;
- else if ("-notree".equals(option)) return 1;
- else if ("-nohelp".equals(option)) return 1;
- else if ("-nonavbar".equals(option)) return 1;
- else if ("-splitindex".equals(option)) return 1;
- else if ("-author".equals(option)) return 1;
- else if ("-version".equals(option)) return 1;
- else if ("-nosince".equals(option)) return 1;
- else if ("-nodeprecated".equals(option)) return 1;
- else if ("-linksource".equals(option)) return 1;
- else if ("-windowtitle".equals(option)) return 2;
- else if ("-helpfile".equals(option)) return 2;
- else if ("-stylesheetfile".equals(option)) return 2;
- else if ("-tag".equals(option)) return 2;
- else if ("-header".equals(option)) return 2;
- else if ("-footer".equals(option)) return 2;
- else if ("-bottom".equals(option)) return 2;
- else if ("-doctitle".equals(option)) return 2;
- else if ("-nodeprecatedlist".equals(option)) return 1;
- else if ("-uses".equals(option)) return 1;
- else if ("-group".equals(option)) return 3;
-
- else return -1;
- }
-
- public static boolean validOptions(String[][] options) {
- return true;
- }
-
-
- /**
- * Workaround for non well-formed comments: fix tag contents
- * by replacing <code>&lt;</code> with <code>&amp;lt;</code>,
- * <code>&gt;</code> with <code>&amp;gt;</code> and
- * <code>&amp;</code> with <code>&amp;amp;</code>.
- *
- * @param tagContent String to process
- *
- * @return given String with all special characters replaced by
- * HTML entities.
- */
- private static String replaceCharsInTag(String tagContent) {
- return
- replaceString(
- replaceString(
- replaceString(
- tagContent,
- "<", "&lt;"
- ),
- ">", "&gt;"
- ),
- "&", "&amp;"
- );
- }
-
- /**
- * Replaces all occurences of string <code>needle</code> within string
- * <code>haystack</code> by string <code>replacement</code>.
- *
- * @param haystack The string to search and replace in.
- * @param needle The string which is searched for.
- * @param replacement The string by which every occurence of <code>needle</code> is replaced.
- */
- private static String replaceString(String haystack, String needle, String replacement) {
- int ndx = haystack.indexOf(needle);
- if (ndx<0)
- return haystack;
- else
- return haystack.substring(0, ndx) + replacement
- + replaceString(haystack.substring(ndx+needle.length()), needle, replacement);
- }
-
- protected void setTargetFile(String filename) throws IOException {
-
- OutputStream fileOut = new FileOutputStream(new File(xmlTargetDirectory, filename));
- out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(fileOut, "UTF8")));;
- }
-
- protected void closeTargetFile() {
-
- out.flush();
- out.close();
- }
-
- private String cdata(String str) {
-
- if (null==str) {
- return str;
- } // end of if ((null==str)
-
- StringBuffer rc = new StringBuffer();
- for (int i=0; i<str.length(); ++i) {
- char c = str.charAt(i);
- if (c==0x09 || c==0x0a || c==0x0d || (c>=0x20 && c<=0xd7ff) || (c>=0xe000 && c<=0xfffd) || (c>=0x10000 && c<=0x10ffff)) {
- rc.append(c);
- }
- else {
- printWarning("Invalid Unicode character 0x"+Integer.toString(c, 16)+" in javadoc markup has been stripped.");
- } // end of else
-
- }
- return rc.toString();
- }
-
- static void copyResourceToFile(String resourceName, File target) throws IOException {
-
- InputStream in = Driver.class.getResourceAsStream(resourceName);
-
- if (null != in) {
-
- FileOutputStream out = new FileOutputStream(target);
- int size;
- byte[] buffer = new byte[512];
- while ((size = in.read(buffer)) >= 0) {
- out.write(buffer, 0, size);
- }
- out.close();
- }
- else {
-
- throw new IOException("Can't find resource named "+resourceName);
- }
- }
-
- private void printError(String error) {
- if (null != rootDoc) {
- rootDoc.printError(error);
- }
- else {
- System.err.println("ERROR: "+error);
- }
- }
-
- private void printWarning(String warning) {
- if (null != rootDoc) {
- rootDoc.printWarning(warning);
- }
- else {
- System.err.println("WARNING: "+warning);
- }
- }
-
- private void printNotice(String notice) {
- if (null != rootDoc) {
- rootDoc.printNotice(notice);
- }
- else {
- System.err.println(notice);
- }
- }
-
- /**
- * Copy the contents of the input directory to the output
- * directory. The output directory must exist.
- */
- private void copyPackageDataDir(GjdocPackageDoc packageDoc) throws IOException {
- File docFilesSourceDirectory
- = new File(packageDoc.packageDirectory(), "doc-files");
- File docFilesTargetDirectory
- = new File(this.targetDirectory,
- packageDoc.name().replace('.', File.separatorChar));
- if (docFilesSourceDirectory.exists()) {
- printNotice("Copying files from " + docFilesSourceDirectory);
- copyDirectory(docFilesSourceDirectory, docFilesTargetDirectory,
- docFilesSubdirsEnabled,
- excludeDocFilesSubDirs);
- }
- }
-
- /**
- * Recursively copy the contents of the input directory to the
- * output directory. The output directory must exist.
- */
- private static void copyDirectory(File sourceDir, File targetDir,
- boolean recursive,
- Set excludeDirs) throws IOException {
- if (!targetDir.exists() && !targetDir.mkdirs()) {
- throw new IOException("Cannot create directory " + targetDir);
- }
-
- File[] sourceFiles = sourceDir.listFiles();
- for (int i=0; i<sourceFiles.length; ++i) {
- if (sourceFiles[i].isDirectory()) {
- if (recursive && (null == excludeDirs
- || !excludeDirs.contains(sourceFiles[i].getName()))) {
- File targetSubDir = new File(targetDir,
- sourceFiles[i].getName());
- if (targetSubDir.exists() || targetSubDir.mkdir()) {
- copyDirectory(sourceFiles[i], targetSubDir, recursive, null);
- }
- else {
- throw new IOException("Cannot create directory " + targetSubDir);
- }
- }
- }
- else {
- copyFile(sourceFiles[i], new File(targetDir, sourceFiles[i].getName()));
- }
- }
- }
-
- /**
- * Copy the contents of the input file to the output file. The
- * output file's parent directory must exist.
- */
- private static void copyFile(File sourceFile, File targetFile) throws IOException {
-
- InputStream in = new FileInputStream(sourceFile);
- OutputStream out = new FileOutputStream(targetFile);
- int nread;
- byte[] buf = new byte[512];
- while ((nread = in.read(buf)) >= 0) {
- out.write(buf, 0, nread);
- }
- in.close();
- out.close();
- }
-
- private void createIndexByName() throws IOException {
- // Create index
-
- // Collect index
-
- Map indexMap = new TreeMap(new Comparator() {
- public int compare(Object o1, Object o2) {
- return o1.toString().toLowerCase().compareTo(o2.toString().toLowerCase());
- }
- });
-
- // Add packages to index
-
- PackageDoc[] packages = rootDoc.specifiedPackages();
- for (int i=0, ilim=packages.length; i<ilim; ++i) {
- PackageDoc c = packages[i];
- indexMap.put(c.name(), c);
- }
-
- // Add classes, fields and methods to index
-
- ClassDoc[] sumclasses = rootDoc.classes();
- for (int i=0, ilim=sumclasses.length; i<ilim; ++i) {
- ClassDoc c = sumclasses[i];
- if (null == c.containingClass()) {
- indexMap.put(c.name(), c);
- }
- else {
- indexMap.put(c.name().substring(c.containingClass().name().length() + 1), c);
- }
- FieldDoc[] fields = c.fields();
- for (int j=0, jlim=fields.length; j<jlim; ++j) {
- indexMap.put(fields[j].name(), fields[j]);
- }
- MethodDoc[] methods = c.methods();
- for (int j=0, jlim=methods.length; j<jlim; ++j) {
- MethodDoc method = methods[j];
- StringBuffer signature = new StringBuffer();
- signature.append(method.name());
- signature.append('(');
- Parameter[] parameters = method.parameters();
- for (int k=0, klim=parameters.length; k<klim; ++k) {
- if (k > 0) {
- signature.append(", ");
- }
- signature.append(parameters[k].typeName());
- }
- signature.append(')');
- indexMap.put(signature.toString(), method);
- }
- }
-
- // Assign output stream
-
- setTargetFile("alphaindex.xml");
-
- // Output XML document header
-
- println(0, "<?xml version=\"1.0\"?>");
- println("<!DOCTYPE gjdoc SYSTEM \"dtd/gjdoc-alphaindex.dtd\">");
- println();
- printOpenTag(0, "alphaindex xmlns=\"http://www.w3.org/TR/REC-html40\" xmlns:gjdoc=\"http://www.gnu.org/software/cp-tools/gjdocxml\"");
-
- Iterator it = indexMap.keySet().iterator();
-
- char previousCategoryLetter = '\0';
- boolean categoryOpen = false;
-
- while (it.hasNext()) {
- String key = (String)it.next();
- Doc entry = (Doc)indexMap.get(key);
-
- char firstChar = Character.toUpperCase(key.charAt(0));
- if (firstChar != previousCategoryLetter) {
- if (categoryOpen) {
- printCloseTag(1, "category");
- }
- printOpenTag(1, "category letter=\"" + firstChar + "\"");
- categoryOpen = true;
- previousCategoryLetter = firstChar;
- }
-
- printOpenTag(2, "entry name=\"" + key + "\"");
- if (entry instanceof PackageDoc) {
- printAtomTag(3, "isPackage");
- }
- else if (entry instanceof ClassDoc) {
- printAtomTag(3, "isClass");
- ClassDoc centry = (ClassDoc)entry;
- currentClass = centry;
- printAtomTag(3, "containingPackage name=\"" + centry.containingPackage().name() + "\"");
- if (null != centry.containingClass()) {
- printAtomTag(3, "containingClass name=\"" + centry.containingClass().name() + "\"");
- }
- if (centry.isInterface()) {
- printAtomTag(3, "isInterface");
- }
- if (centry.isException()) {
- printAtomTag(3, "isException");
- }
- if (centry.isError()) {
- printAtomTag(3, "isError");
- }
- if (centry.isOrdinaryClass()) {
- printAtomTag(3, "isOrdinaryClass");
- }
- }
- else if (entry instanceof ProgramElementDoc) {
- ProgramElementDoc pentry = (ProgramElementDoc)entry;
- currentClass = pentry.containingClass();
- printAtomTag(3, "containingPackage name=\"" + pentry.containingPackage().name() + "\"");
- printAtomTag(3, "containingClass name=\"" + pentry.containingClass().name() + "\"");
- if (pentry.isMethod()) {
- printAtomTag(3, "isMethod");
- ExecutableMemberDoc mentry = (ExecutableMemberDoc)pentry;
- printAtomTag(3, "signature full=\""+mentry.signature()+"\" flat=\""+mentry.flatSignature()+"\"");
- printAtomTag(3, "method name=\"" + mentry.name() + "\"");
- }
- if (pentry.isField()) {
- printAtomTag(3, "isField");
- }
- }
-
- Tag[] tags = entry.firstSentenceTags();
- for (int i=0, ilim=tags.length; i<ilim; ++i) {
- Tag tag = tags[i];
- if (tag.firstSentenceTags().length>0) {
- printOpenTag(3, "firstSentenceTags", false);
- outputTags(4, tag.firstSentenceTags(), false, CONTEXT_TYPE);
- printCloseTag(3, "firstSentenceTags");
- }
- }
-
-
- printCloseTag(2, "entry");
- }
-
- if (categoryOpen) {
- printCloseTag(1, "category");
- }
-
- printCloseTag(0, "alphaindex");
-
- closeTargetFile();
- }
-
- private static class UsageType
- {
- public static final UsageType CLASS_DERIVED_FROM = new UsageType("class-derived-from");
- public static final UsageType FIELD_OF_TYPE = new UsageType("field-of-type");
- public static final UsageType METHOD_WITH_RETURN_TYPE = new UsageType("method-with-return-type");
- public static final UsageType METHOD_WITH_PARAMETER_TYPE = new UsageType("method-with-parameter-type");
- public static final UsageType METHOD_WITH_THROWN_TYPE = new UsageType("method-with-thrown-type");
- public static final UsageType CONSTRUCTOR_WITH_PARAMETER_TYPE = new UsageType("constructor-with-parameter-type");
- public static final UsageType CONSTRUCTOR_WITH_THROWN_TYPE = new UsageType("constructor-with-thrown-type");
- private String id;
-
- private UsageType(String id)
- {
- this.id = id;
- }
-
- public String toString() {
- return "UsageType{id=" + id + "}";
- }
-
- public String getId() {
- return id;
- }
- }
-
- /**
- * ClassDoc -> (PackageDoc -> (UsageType -> (Set of Doc)))
- */
- private Map usedClassToPackagesMap = new HashMap();
-
- private void addUsedBy(ClassDoc usedClass, UsageType usageType, Doc user, PackageDoc userPackage)
- {
- Map packageToUsageTypeMap = (Map)usedClassToPackagesMap.get(usedClass);
- if (null == packageToUsageTypeMap) {
- packageToUsageTypeMap = new HashMap();
- usedClassToPackagesMap.put(usedClass, packageToUsageTypeMap);
- }
-
- Map usageTypeToUsersMap = (Map)packageToUsageTypeMap.get(userPackage);
- if (null == usageTypeToUsersMap) {
- usageTypeToUsersMap = new HashMap();
- packageToUsageTypeMap.put(userPackage, usageTypeToUsersMap);
- }
-
- Set userSet = (Set)usageTypeToUsersMap.get(usageType);
- if (null == userSet) {
- userSet = new TreeSet(); // FIXME: we need the collator from Main here
- usageTypeToUsersMap.put(usageType, userSet);
- }
- userSet.add(user);
- }
-
- /**
- * Create the cross reference database.
- */
- private void collectUsage() {
-
- ClassDoc[] classes = rootDoc.classes();
- for (int i = 0, ilim = classes.length; i < ilim; ++ i) {
- ClassDoc clazz = classes[i];
-
- // classes derived from
- for (ClassDoc superclass = clazz.superclass(); superclass != null;
- superclass = superclass.superclass()) {
- addUsedBy(superclass, UsageType.CLASS_DERIVED_FROM, clazz, clazz.containingPackage());
- }
-
- FieldDoc[] fields = clazz.fields();
- for (int j = 0, jlim = fields.length; j < jlim; ++ j) {
- FieldDoc field = fields[j];
-
- // fields of type
- ClassDoc fieldType = field.type().asClassDoc();
- if (null != fieldType) {
- addUsedBy(fieldType, UsageType.FIELD_OF_TYPE,
- field, clazz.containingPackage());
- }
- }
-
- MethodDoc[] methods = clazz.methods();
- for (int j = 0, jlim = methods.length; j < jlim; ++ j) {
- MethodDoc method = methods[j];
-
- // methods with return type
-
- ClassDoc returnType = method.returnType().asClassDoc();
- if (null != returnType) {
- addUsedBy(returnType, UsageType.METHOD_WITH_RETURN_TYPE,
- method, clazz.containingPackage());
- }
- Parameter[] parameters = method.parameters();
- for (int k=0; k<parameters.length; ++k) {
-
- // methods with parameter type
-
- Parameter parameter = parameters[k];
- ClassDoc parameterType = parameter.type().asClassDoc();
- if (null != parameterType) {
- addUsedBy(parameterType, UsageType.METHOD_WITH_PARAMETER_TYPE,
- method, clazz.containingPackage());
- }
- }
-
- // methods which throw
-
- ClassDoc[] thrownExceptions = method.thrownExceptions();
- for (int k = 0, klim = thrownExceptions.length; k < klim; ++ k) {
- ClassDoc thrownException = thrownExceptions[k];
- addUsedBy(thrownException, UsageType.METHOD_WITH_THROWN_TYPE,
- method, clazz.containingPackage());
- }
- }
-
- ConstructorDoc[] constructors = clazz.constructors();
- for (int j = 0, jlim = constructors.length; j < jlim; ++ j) {
-
- ConstructorDoc constructor = constructors[j];
-
- Parameter[] parameters = constructor.parameters();
- for (int k = 0, klim = parameters.length; k < klim; ++ k) {
-
- // constructors with parameter type
-
- Parameter parameter = parameters[k];
- ClassDoc parameterType = parameter.type().asClassDoc();
- if (null != parameterType) {
- addUsedBy(parameterType, UsageType.CONSTRUCTOR_WITH_PARAMETER_TYPE,
- constructor, clazz.containingPackage());
- }
- }
-
- // constructors which throw
-
- ClassDoc[] thrownExceptions = constructor.thrownExceptions();
- for (int k = 0, klim = thrownExceptions.length; k < klim; ++ k) {
- ClassDoc thrownException = thrownExceptions[k];
- addUsedBy(thrownException, UsageType.CONSTRUCTOR_WITH_THROWN_TYPE,
- constructor, clazz.containingPackage());
- }
- }
- }
- }
-
- private void outputUsage(ClassDoc clazz, int level) {
-
- Map packageToUsageTypeMap = (Map)usedClassToPackagesMap.get(clazz);
- if (null != packageToUsageTypeMap) {
- printOpenTag(level, "references");
-
- Iterator packagesIterator = packageToUsageTypeMap.keySet().iterator();
-
- while (packagesIterator.hasNext()) {
- PackageDoc packageDoc = (PackageDoc)packagesIterator.next();
- printOpenTag(level + 1, "referencing-package name=\"" + packageDoc.name() + "\"");
- Map usageTypeToUsersMap = (Map)packageToUsageTypeMap.get(packageDoc);
- Iterator usageTypeIterator = usageTypeToUsersMap.keySet().iterator();
- while (usageTypeIterator.hasNext()) {
- UsageType usageType = (UsageType)usageTypeIterator.next();
- printOpenTag(level + 2, "usage-type id=\"" + usageType.getId() + "\"");
- Set users = (Set)usageTypeToUsersMap.get(usageType);
- Iterator userIterator = users.iterator();
- while (userIterator.hasNext()) {
- Doc user = (Doc)userIterator.next();
- if (user instanceof ClassDoc) {
- printAtomTag(level + 3, "user"
- + " class=\"" + ((ClassDoc)user).name() + "\"");
- }
- else if (user instanceof FieldDoc) {
- FieldDoc fieldDoc = (FieldDoc)user;
- printAtomTag(level + 3, "user"
- + " class=\"" + fieldDoc.containingClass().name() + "\""
- + " field=\"" + fieldDoc.name() + "\"");
- }
- else if (user instanceof MethodDoc) {
- MethodDoc methodDoc = (MethodDoc)user;
- printAtomTag(level + 3, "user"
- + " class=\"" + methodDoc.containingClass().name() + "\""
- + " method=\"" + methodDoc.name() + "\""
- + " signature=\"" + methodDoc.signature() + "\""
- + " flatSignature=\"" + methodDoc.flatSignature() + "\"");
- }
- else if (user instanceof ConstructorDoc) {
- ConstructorDoc constructorDoc = (ConstructorDoc)user;
- printAtomTag(level + 3, "user"
- + " class=\"" + constructorDoc.containingClass().name() + "\""
- + " signature=\"" + constructorDoc.signature() + "\""
- + " flatSignature=\"" + constructorDoc.flatSignature() + "\"");
- }
- }
- printCloseTag(level +2, "usage-type");
- }
- printCloseTag(level + 1, "referencing-package");
- }
-
- printCloseTag(level, "references");
- }
- }
-
- private boolean processGroupOption(String groupName, String colonSeparatedPackageList)
- {
- try {
- PackageMatcher packageMatcher = new PackageMatcher();
-
- StringTokenizer tokenizer = new StringTokenizer(colonSeparatedPackageList, ":");
- while (tokenizer.hasMoreTokens()) {
- String packageWildcard = tokenizer.nextToken();
- packageMatcher.addWildcard(packageWildcard);
- }
-
- SortedSet groupPackages = packageMatcher.filter(rootDoc.specifiedPackages());
-
- packageGroups.add(new PackageGroup(groupName, groupPackages));
-
- return true;
- }
- catch (InvalidPackageWildcardException e) {
- return false;
- }
- }
-
- private void registerTaglet(Taglet taglet)
- {
- tagletMap.put(taglet.getName(), taglet);
- }
-
- private boolean isVerbose()
- {
- return false;
- }
-}
+/* gnu.classpath.tools.doclets.xmldoclet.Driver
+ Copyright (C) 2001 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.classpath.tools.doclets.xmldoclet;
+
+import com.sun.javadoc.*;
+import java.io.*;
+
+import com.sun.tools.doclets.Taglet;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+
+import java.text.DateFormat;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.HashSet;
+import java.util.TreeSet;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Properties;
+import java.util.Set;
+import java.util.SortedSet;
+import java.util.StringTokenizer;
+import java.util.TreeMap;
+
+import gnu.classpath.tools.gjdoc.TemporaryStore;
+import gnu.classpath.tools.gjdoc.GjdocPackageDoc;
+
+import gnu.classpath.tools.doclets.PackageGroup;
+import gnu.classpath.tools.doclets.PackageMatcher;
+import gnu.classpath.tools.doclets.InvalidPackageWildcardException;
+
+import gnu.classpath.tools.doclets.xmldoclet.doctranslet.DocTranslet;
+import gnu.classpath.tools.doclets.xmldoclet.doctranslet.DocTransletOptions;
+
+import gnu.classpath.tools.taglets.AuthorTaglet;
+import gnu.classpath.tools.taglets.VersionTaglet;
+import gnu.classpath.tools.taglets.SinceTaglet;
+import gnu.classpath.tools.taglets.DeprecatedTaglet;
+import gnu.classpath.tools.taglets.GenericTaglet;
+import gnu.classpath.tools.doclets.StandardTaglet;
+
+import gnu.classpath.tools.java2xhtml.Java2xhtml;
+
+import gnu.classpath.tools.IOToolkit;
+import gnu.classpath.tools.FileSystemClassLoader;
+
+/**
+ * A Doclet which retrieves all information presented by the Doclet
+ * API, dumping it to stdout in XML format.
+ *
+ * @author Julian Scheid
+ */
+public class Driver {
+
+ public static final String XMLDOCLET_VERSION = "0.6.1";
+
+ /**
+ * Used for redirecting error messages to <code>/dev/null</code>.
+ */
+ private static class NullErrorReporter implements DocErrorReporter {
+ public void printError(String ignore) {}
+ public void printWarning(String ignore) {}
+ public void printNotice(String ignore) {}
+ }
+
+ /*
+ * Taglet context constants.
+ */
+ private static final int CONTEXT_CONSTRUCTOR = 1;
+ private static final int CONTEXT_FIELD = 2;
+ private static final int CONTEXT_METHOD = 3;
+ private static final int CONTEXT_OVERVIEW = 4;
+ private static final int CONTEXT_PACKAGE = 5;
+ private static final int CONTEXT_TYPE = 6;
+
+ /**
+ * All XML output will go to this stream.
+ */
+ private PrintWriter out;
+
+ /**
+ * How many spaces to indent each XML node level,
+ * i.e. Tab size for output.
+ */
+ private static int indentStep = 1;
+
+ /**
+ * Won't output superfluous spaces if set to true.
+ * If set to false, output will be more legible.
+ */
+ private boolean compress = false;
+
+ /**
+ * Won't output warning messages while fixing
+ * HTML code if set to true.
+ */
+ private boolean noHTMLWarn = false;
+
+ /**
+ * Won't output warning messages when encountering tags
+ * that look like an email address if set to true.
+ */
+ private boolean noEmailWarn = false;
+
+ /**
+ * Will fix HTML if necessary so that each comment
+ * contains valid XML code if set to true. If set
+ * to false, HTML code will not be modified and
+ * instead encapsulated in a CDATA section.
+ */
+ private boolean fixHTML = true;
+
+ /**
+ * User-specified name of the directory where the final version of
+ * the generated files will be written to.
+ *
+ * If no XSLT sheet is given, the XML output will go directly into
+ * this directory. Otherwise, XML output will go to a temporary
+ * directory and XSLT output will go to this directory.
+ */
+ private File targetDirectory = null;
+
+ /**
+ * Directory where XML output will be written to. If no XSLT
+ * sheet was given, this is the target directory specified
+ * by the user. Otherwise, this is a temporary directory.
+ */
+ private File xmlTargetDirectory;
+
+ /**
+ * Contains a number of TargetContexts which describe which XSLT
+ * sheet to apply to the output of this doclet, to what directory
+ * the XSLT output is written, and which postprocess driver to use
+ * to process XSLT output.
+ */
+ private List targets = new ArrayList();
+
+ /**
+ * XML text to include at the end of every generated page. Read
+ * from the file specified on the command line using -bottomnote.
+ * If present, this will be written to the main output file
+ * (index.xml) in node /gjdoc:rootDoc/gjdoc:bottomnote.
+ */
+ private String bottomNote;
+
+ /**
+ * Brief description of the package set. Can be specified on the
+ * command line using -title. This will be written to the main
+ * output file (index.xml) in node
+ * /gjdoc:rootDoc/gjdoc:title. The HTML generating XSLT sheet
+ * uses this for example in window titles.
+ */
+ private String title;
+
+ /**
+ * Path to the directory where temporary files should be stored.
+ * Defaults to system tempdir, but can be overridden by user
+ * with -workpath.
+ */
+ private String workingPath = System.getProperty("java.io.tmpdir");
+
+ /**
+ * Temporary directory created by this doclet where all
+ * temporary files will be stored in. If no temporary
+ * files are needed (i.e. no XSLT postprocessing stage
+ * specified by user), this is <code>null</code>.
+ */
+ private File workingDirectory;
+
+ /**
+ * Whether to deep-copy the doc-files subdirectory.
+ */
+ private boolean docFilesSubdirsEnabled = false;
+
+ /**
+ * Which direct subdirectories of the doc-files directories to exclude.
+ * Set of String.
+ */
+ private Set excludeDocFilesSubDirs = new HashSet();
+
+ /**
+ * Stores the Doclet API RootDoc we are operating on.
+ */
+ private RootDoc rootDoc;
+
+ /**
+ * XML namespace prefix used for all tags, except for HTML
+ * tags copied from Javadoc comments. Excluding colon.
+ */
+ public static final String tagPrefix = "gjdoc";
+
+ /**
+ * Classpath for loading Taglet classes.
+ */
+ private String tagletPath = null;
+
+ /**
+ * The current class that is being processed.
+ * Set in outputClassDoc().
+ */
+ private ClassDoc currentClass;
+
+ /**
+ * The current member that is being processed.
+ * Set in outputMemberDoc().
+ */
+ private MemberDoc currentMember;
+
+ /**
+ * The current constructor/method that is being processed.
+ * Set in outputExecutableMemberDoc().
+ */
+ private ExecutableMemberDoc currentExecMember;
+
+ /**
+ * Mapping from tag type to Taglet for user Taglets specified on
+ * the command line.
+ */
+ private Map tagletMap = new LinkedHashMap();
+
+ /**
+ * Keeps track of the tags mentioned by the user during option
+ * processiong so that an error can be emitted if a tag is
+ * mentioned more than once.
+ */
+ private List mentionedTags = new LinkedList();
+
+ /**
+ * Stores options to be passed to the DocTranslet.
+ */
+ private DocTransletOptions docTransletOptions = new DocTransletOptions();
+
+ /**
+ * Stores the package groups specified in the user
+ * options. Contains objects of type PackageGroup.
+ */
+ private List packageGroups = new LinkedList();
+
+ private HtmlRepairer htmlRepairer;
+
+ public static boolean start(TemporaryStore _rootDocWrapper) {
+ return new Driver().instanceStart((RootDoc)_rootDocWrapper.getAndClear());
+ }
+
+ /**
+ * Official Doclet entry point.
+ */
+ public static boolean start(RootDoc _rootDoc) {
+
+ // Create a new XmlDoclet instance and delegate control.
+ TemporaryStore tstore = new TemporaryStore(_rootDoc);
+ _rootDoc = null;
+ return new Driver().instanceStart((RootDoc)tstore.getAndClear());
+ }
+
+ /**
+ * Output an XML tag describing a com.sun.javadoc.Type object.
+ * Assumes that the tag does not have subtags.
+ *
+ * @param level Level of indentation. Will be multiplied by
+ * <code>indentStep</code> to yield actual amount
+ * of whitespace inserted at start of line.
+ * @param tag Identifier for the XML tag being output.
+ * @param type The Javadoc Type to be output.
+ */
+ protected void outputType(int level, String tag, Type type) {
+ outputType(level, tag, type, true);
+ }
+
+ protected void outputType(int level, String tag, Type type, boolean atomic) {
+
+ boolean isIncluded = false;
+ ClassDoc typeAsClassDoc = type.asClassDoc();
+ String packageName = null;
+ if (null != typeAsClassDoc) {
+ isIncluded = typeAsClassDoc.isIncluded();
+ packageName = typeAsClassDoc.containingPackage().name();
+ }
+ println(level, "<"+tagPrefix+":"+tag + " typename=\""+type.typeName()+"\""+
+ " qualifiedtypename=\""+type.qualifiedTypeName()+"\""
+ +(type.dimension().length()==0?"":" dimension=\""+type.dimension()+"\"")
+ +(isIncluded?" isIncluded=\"true\"" : "")
+ +((null != packageName)?" package=\"" + packageName + "\"" : "")
+ +(atomic?"/":"")+">");
+ }
+
+ protected void outputExecutableMemberDocBody(int level, ExecutableMemberDoc memberDoc) {
+
+ currentExecMember = memberDoc;
+
+ outputMemberDocBody(level, memberDoc);
+
+ Parameter[] parameters = memberDoc.parameters();
+ for (int i=0, ilim=parameters.length; i<ilim; ++i) {
+ Parameter parameter = parameters[i];
+ outputType(level, "parameter name=\""+parameter.name()+"\"", parameter.type());
+ }
+
+ ClassDoc[] exceptions = memberDoc.thrownExceptions();
+ for (int i=0, ilim=exceptions.length; i<ilim; ++i) {
+ ClassDoc exception = exceptions[i];
+ outputType(level, "thrownException", exception);
+ }
+
+ printAtomTag(level, "signature full=\""+memberDoc.signature()+"\" flat=\""+memberDoc.flatSignature()+"\"");
+
+ if (memberDoc.isNative()) {
+ printAtomTag(level, "isNative");
+ }
+
+ if (memberDoc.isSynchronized()) {
+ printAtomTag(level, "isSynchronized");
+ }
+ }
+
+ protected void outputMethodDoc(int level, MethodDoc methodDoc) {
+ println();
+ printOpenTag(level, "methoddoc name=\""+methodDoc.name()+"\"");
+ outputExecutableMemberDocBody(level+1, methodDoc);
+ outputType(level+1, "returns", methodDoc.returnType());
+ printCloseTag(level, "methoddoc");
+ }
+
+ protected void outputMemberDocBody(int level, MemberDoc memberDoc) {
+ currentMember = memberDoc;
+ outputProgramElementDocBody(level, memberDoc);
+ }
+
+ protected void outputFieldDocBody(int level, FieldDoc fieldDoc) {
+ outputType(level, "type", fieldDoc.type());
+ if (fieldDoc.isTransient()) {
+ printAtomTag(level, "isTransient");
+ }
+ if (fieldDoc.isVolatile()) {
+ printAtomTag(level, "isVolatile");
+ }
+ }
+
+ private void outputFieldDoc(int level, FieldDoc fieldDoc) {
+ println();
+ printOpenTag(level, "fielddoc name=\""+fieldDoc.name()+"\"");
+ outputMemberDocBody(level+1, fieldDoc);
+ outputFieldDocBody(level+1, fieldDoc);
+ printCloseTag(level, "fielddoc");
+ }
+
+ protected void outputConstructorDoc(int level, ConstructorDoc constructorDoc) {
+ println();
+ printOpenTag(level, "constructordoc name=\""+constructorDoc.name()+"\"");
+ outputExecutableMemberDocBody(level+1, constructorDoc);
+ printCloseTag(level, "constructordoc");
+ }
+
+ protected void outputSuperInterfacesRec(int level, ClassDoc classDoc) {
+ if (null!=classDoc) {
+ ClassDoc[] interfaces = classDoc.interfaces();
+ if (null != interfaces) {
+ for (int i=0, ilim=interfaces.length; i<ilim; ++i) {
+ outputType(level, "superimplements", interfaces[i]);
+ }
+ }
+ outputSuperInterfacesRec(level, classDoc.superclass());
+ }
+ }
+
+ protected void outputClassDocSummary(ClassDoc classDoc) {
+ println();
+ printOpenTag(1, "classdoc name=\""+classDoc.name()+"\" qualifiedtypename=\""+classDoc.qualifiedName()+"\" isIncluded=\"true\"");
+ if (null!=classDoc.superclass()) {
+ outputType(2, "superclass", classDoc.superclass());
+ }
+
+ ClassDoc[] interfaces = classDoc.interfaces();
+ for (int i=0, ilim=interfaces.length; i<ilim; ++i) {
+ outputType(2, "implements", interfaces[i]);
+ }
+ outputSuperInterfacesRec(2, classDoc.superclass());
+
+ printAtomTag(2, "containingPackage name=\""+classDoc.containingPackage().name()+"\"");
+ if (classDoc.isError()) {
+ printAtomTag(2, "isError");
+ }
+ if (classDoc.isException()) {
+ printAtomTag(2, "isException");
+ }
+ if (classDoc.isInterface()) {
+ printAtomTag(2, "isInterface");
+ }
+ if (classDoc.isOrdinaryClass()) {
+ printAtomTag(2, "isOrdinaryClass");
+ }
+
+ printCloseTag(1, "classdoc");
+ }
+
+ protected void outputPackageDoc(PackageDoc packageDoc) {
+ println();
+ printOpenTag(1, "packagedoc name=\""+packageDoc.name()+"\"");
+ if (packageDoc.firstSentenceTags().length > 0) {
+ printOpenTag(2, "firstSentenceTags", false);
+ outputTags(3, packageDoc.firstSentenceTags(), true, CONTEXT_PACKAGE);
+ printCloseTag(0, "firstSentenceTags");
+ printOpenTag(2, "inlineTags", false);
+ outputTags(3, packageDoc.inlineTags(), true, CONTEXT_PACKAGE);
+ printCloseTag(0, "inlineTags");
+ }
+
+ if (packageDoc.tags().length > 0) {
+ printOpenTag(2, "tags");
+ outputTags(3, packageDoc.tags(), true, CONTEXT_PACKAGE);
+ printCloseTag(2, "tags");
+ }
+
+ if (packageDoc.seeTags().length > 0) {
+ printOpenTag(2, "seeTags");
+ outputTags(3, packageDoc.seeTags(), true, CONTEXT_PACKAGE);
+ printCloseTag(2, "seeTags");
+ }
+
+ ClassDoc[] allClasses = (ClassDoc[]) packageDoc.allClasses().clone();
+ Arrays.sort(allClasses);
+
+ if (false) {
+ for (int i = 0, ilim = allClasses.length; i < ilim; ++ i) {
+ printAtomTag(2, "containsClass qualifiedtypename=\""+allClasses[i].qualifiedTypeName()+"\"");
+ }
+ }
+
+ printCloseTag(1, "packagedoc");
+ }
+
+ protected void outputClassDoc(ClassDoc classDoc) throws IOException {
+
+ currentClass = classDoc;
+
+ println();
+ printOpenTag(1, "classdoc xmlns=\"http://www.w3.org/TR/REC-html40\" xmlns:"+tagPrefix+"=\"http://www.gnu.org/software/cp-tools/gjdocxml\" name=\""+classDoc.name()+"\" qualifiedtypename=\""+classDoc.qualifiedName()+"\"");
+
+ ClassDoc[] interfaces = classDoc.interfaces();
+ for (int i=0, ilim=interfaces.length; i<ilim; ++i) {
+ outputType(2, "implements", interfaces[i]);
+ }
+ outputSuperInterfacesRec(2, classDoc.superclass());
+
+ outputProgramElementDocBody(2, classDoc);
+ if (classDoc.isAbstract())
+ printAtomTag(2, "isAbstract");
+ if (classDoc.isSerializable())
+ printAtomTag(2, "isSerializable");
+ if (classDoc.isExternalizable())
+ printAtomTag(2, "isExternalizable");
+ if (classDoc.definesSerializableFields()) {
+ printAtomTag(2, "definesSerializableFields");
+ }
+
+ ConstructorDoc[] constructors = classDoc.constructors();
+ for (int i=0, ilim=constructors.length; i<ilim; ++i) {
+ outputConstructorDoc(2, constructors[i]);
+ }
+
+ MethodDoc[] methods = classDoc.methods();
+ for (int i=0, ilim=methods.length; i<ilim; ++i) {
+ outputMethodDoc(2, methods[i]);
+ }
+
+ FieldDoc[] fields = classDoc.fields();
+ for (int i=0, ilim=fields.length; i<ilim; ++i) {
+ outputFieldDoc(2, fields[i]);
+ }
+
+ if (classDoc.serializableFields().length > 0) {
+ printOpenTag(2, "serializableFields");
+
+ FieldDoc[] sfields = classDoc.serializableFields();
+ for (int i=0, ilim=sfields.length; i<ilim; ++i) {
+ outputFieldDoc(2, sfields[i]);
+ }
+ printCloseTag(2, "serializableFields");
+ }
+
+ Java2xhtml java2xhtml = new Java2xhtml();
+ Properties properties = new Properties();
+ properties.setProperty("isCodeSnippet", "true");
+ properties.setProperty("hasLineNumbers", "true");
+ java2xhtml.setProperties(properties);
+
+ if (null == classDoc.containingClass() && docTransletOptions.linksource) {
+ printOpenTag(2, "source");
+ StringWriter sourceBuffer = new StringWriter();
+ File sourceFile = new File(((GjdocPackageDoc)classDoc.containingPackage()).packageDirectory(),
+ classDoc.name() + ".java");
+ FileReader sourceReader = new FileReader(sourceFile);
+ IOToolkit.copyStream(sourceReader, sourceBuffer);
+ print(java2xhtml.makeHTML(sourceBuffer.getBuffer(), sourceFile.getName()));
+ printCloseTag(2, "source");
+ }
+
+ ClassDoc superclassDoc = classDoc.superclass();
+ while (superclassDoc != null) {
+ outputType(2, "superclass", superclassDoc, false);
+
+ // FIXME: remove the following after adjusting the XSLT sheets:
+ printAtomTag(3, "containingPackage name=\"" + superclassDoc.containingPackage().name() + "\"");
+
+ MethodDoc[] superMethods = superclassDoc.methods();
+ if (null != superMethods) {
+ for (int i=0, ilim=superMethods.length; i<ilim; ++i) {
+ printAtomTag(3, "methoddoc name=\"" + superMethods[i].name() + "\" signature=\"" + superMethods[i].signature() + "\"");
+ }
+ }
+
+ FieldDoc[] superFields = superclassDoc.fields();
+ if (null != superFields) {
+ for (int i=0, ilim=superFields.length; i<ilim; ++i) {
+ printAtomTag(3, "fielddoc name=\"" + superFields[i].name() + "\"");
+ }
+ }
+ printCloseTag(2, "superclass");
+
+ superclassDoc = superclassDoc.superclass();
+ }
+
+ outputUsage(classDoc, 2);
+
+ printCloseTag(1, "classdoc");
+
+ currentClass = null;
+ currentMember = null;
+ currentExecMember = null;
+ }
+
+ protected int outputHeritageOpen(int level, ClassDoc classDoc) {
+
+ ClassDoc superClassDoc = classDoc.superclass();
+ if (null != superClassDoc) {
+ level = outputHeritageOpen(level, superClassDoc);
+ ++ level;
+ }
+ outputType(level, "heritage", classDoc, false);
+ return level;
+ }
+
+ protected void outputHeritageClose(int level, ClassDoc classDoc) {
+
+ ClassDoc superClassDoc = classDoc.superclass();
+ if (null != superClassDoc) {
+ outputHeritageClose(level + 1, superClassDoc);
+ }
+ printCloseTag(level, "heritage");
+ }
+
+ protected void outputDocBody(int level, Doc doc) {
+
+ int context = CONTEXT_TYPE;
+
+ if (doc.isClass()) {
+ printAtomTag(level, "isClass");
+
+ ClassDoc classDoc = (ClassDoc)doc;
+ ClassDoc[] classes = rootDoc.classes();
+ for (int i=0, ilim=classes.length; i<ilim; ++i) {
+ if (classes[i].superclass() == classDoc) {
+ outputType(level, "extended-by", classes[i]);
+ }
+ }
+
+ outputHeritageOpen(level, classDoc);
+ outputHeritageClose(level, classDoc);
+ }
+ if (doc.isConstructor()) {
+ printAtomTag(level, "isConstructor");
+ context = CONTEXT_CONSTRUCTOR;
+ }
+ if (doc.isError()) {
+ printAtomTag(level, "isError");
+ }
+ if (doc.isException()) {
+ printAtomTag(level, "isException");
+ }
+ if (doc.isField()) {
+ printAtomTag(level, "isField");
+ context = CONTEXT_FIELD;
+ }
+ if (doc.isIncluded()) {
+ printAtomTag(level, "isIncluded");
+ }
+ if (doc.isInterface()) {
+ printAtomTag(level, "isInterface");
+
+ ClassDoc classDoc = (ClassDoc)doc;
+ ClassDoc[] classes = rootDoc.classes();
+ for (int i=0, ilim=classes.length; i<ilim; ++i) {
+ ClassDoc[] implementedInterfaces = classes[i].interfaces();
+ for (int j=0; j<implementedInterfaces.length; ++j) {
+ if (implementedInterfaces[j] == classDoc) {
+ if (classDoc.isInterface()) {
+ outputType(level, "subinterface", classes[i]);
+ }
+ else {
+ outputType(level, "implemented-by", classes[i]);
+ }
+ break;
+ }
+ }
+ }
+ }
+ if (doc.isMethod()) {
+ printAtomTag(level, "isMethod");
+ context = CONTEXT_METHOD;
+ }
+ if (doc.isOrdinaryClass()) {
+ printAtomTag(level, "isOrdinaryClass");
+ }
+
+ if (doc.inlineTags().length > 0) {
+ printOpenTag(level, "inlineTags", false);
+ outputTags(level+1, doc.inlineTags(), true, context);
+ printCloseTag(0, "inlineTags");
+ }
+
+ if (doc.firstSentenceTags().length > 0) {
+ printOpenTag(level, "firstSentenceTags", false);
+ outputTags(level+1, doc.firstSentenceTags(), true, context);
+ printCloseTag(0, "firstSentenceTags");
+ }
+
+ if (doc.tags().length > 0) {
+ printOpenTag(level, "tags");
+ outputTaglets(level+1, doc.tags(), true, context);
+ printCloseTag(level, "tags");
+ }
+
+ if (doc.seeTags().length > 0) {
+ printOpenTag(level, "seeTags");
+ outputTags(level+1, doc.seeTags(), true, context);
+ printCloseTag(level, "seeTags");
+ }
+
+ SourcePosition position = doc.position();
+ if (null != position) {
+ printAtomTag(level, "position file=\"" + position.file().getAbsolutePath() + "\" line=\"" + position.line() + "\" column=\"" + position.column() + "\"");
+ }
+ }
+
+ protected void outputProgramElementDocBody(int level, ProgramElementDoc programElementDoc) {
+ outputDocBody(level, programElementDoc);
+ printAtomTag(level, "containingPackage name=\""+programElementDoc.containingPackage().name()+"\"");
+ if (null!=programElementDoc.containingClass()) {
+ outputType(level, "containingClass", programElementDoc.containingClass());
+ }
+ String access;
+ if (programElementDoc.isPublic())
+ access="public";
+ else if (programElementDoc.isProtected())
+ access="protected";
+ else if (programElementDoc.isPrivate())
+ access="private";
+ else if (programElementDoc.isPackagePrivate())
+ access="package";
+ else
+ throw new RuntimeException("Huh? "+programElementDoc+" is neither public, protected, private nor package protected.");
+ printAtomTag(level, "access scope=\""+access+"\"");
+ if (programElementDoc.isFinal())
+ printAtomTag(level, "isFinal");
+ if (programElementDoc.isStatic())
+ printAtomTag(level, "isStatic");
+ }
+
+ protected void outputTags(int level, Tag[] tags, boolean descend, int context) {
+
+ for (int i=0; i<tags.length; ++i) {
+ outputTag(tags[i], level, descend, context, i == tags.length-1);
+ }
+ }
+
+ protected void outputTag(Tag tag, int level, boolean descend, int context, boolean lastTag) {
+
+ if (!"Text".equals(tag.name())) {
+ printOpenTag(0 /* don't introduce additional whitespace */,
+ "tag kind=\""+tag.kind()+"\" name=\""+tag.name()+"\"", false);
+ }
+ if (tag instanceof ThrowsTag) {
+ ThrowsTag throwsTag = (ThrowsTag)tag;
+ if (null!=throwsTag.exception()) {
+ outputType(level+1, "exception", throwsTag.exception());
+ }
+ else {
+ StringBuffer sb = new StringBuffer("Exception ");
+ sb.append(throwsTag.exceptionName());
+ sb.append(" not found in ");
+ if (currentExecMember instanceof MethodDoc) {
+ MethodDoc m = (MethodDoc)currentExecMember;
+ sb.append(m.returnType().typeName());
+ sb.append(m.returnType().dimension());
+ sb.append(' ');
+ }
+ sb.append(currentClass.qualifiedName());
+ sb.append('.');
+ sb.append(currentExecMember.name());
+ sb.append('(');
+ Parameter[] params = currentExecMember.parameters();
+ for (int j=0; j < params.length; j++) {
+ sb.append(params[j].type().typeName());
+ sb.append(params[j].type().dimension());
+ sb.append(' ');
+ sb.append(params[j].name());
+ if (j != params.length-1)
+ sb.append(", ");
+ }
+ sb.append(')');
+ printWarning(sb.toString());
+
+ printAtomTag(level+1, "exception typename=\""+throwsTag.exceptionName()+"\"");
+ }
+ }
+ else if (tag instanceof ParamTag) {
+ ParamTag paramTag = (ParamTag)tag;
+ printAtomTag(level+1, "parameter name=\""+paramTag.parameterName()+"\"");
+ }
+
+ if (null != tag.text()) {
+ //printOpenTag(level+1, "text", false);
+ if (fixHTML) {
+ print(htmlRepairer.getWellformedHTML(tag.text()));
+ }
+ else {
+ print("<![CDATA["+cdata(tag.text())+"]]>");
+ }
+ //printCloseTag(0 /* don't introduce additional whitespace */, "text");
+ }
+ else {
+ printWarning("Tag got null text: "+tag);
+ }
+
+ if ((descend && ("@throws".equals(tag.name()) || "@param".equals(tag.name()))) || "@deprecated".equals(tag.name())) {
+ if (tag.firstSentenceTags().length>0) {
+ printOpenTag(level+1, "firstSentenceTags", false);
+ outputTags(level+2, tag.firstSentenceTags(), false, context);
+ printCloseTag(0, "firstSentenceTags");
+ }
+
+ if (tag.inlineTags().length>0) {
+ printOpenTag(level+1, "inlineTags", false);
+ outputTags(level+2, tag.firstSentenceTags(), false, context);
+ printCloseTag(0, "inlineTags");
+ }
+ }
+
+ if (fixHTML && lastTag) {
+ String terminateText = htmlRepairer.terminateText();
+ if (null != terminateText && terminateText.length() > 0) {
+ print(terminateText);
+ }
+ }
+
+ if (!"Text".equals(tag.name())) {
+
+ Taglet inlineTaglet = (Taglet)tagletMap.get(tag.name().substring(1));
+ if (null != inlineTaglet && inlineTaglet.isInlineTag()) {
+ printOpenTag(0, "inlineTagletText", false);
+ print(inlineTaglet.toString(tag));
+ printCloseTag(0, "inlineTagletText");
+ }
+
+ printCloseTag(0, "tag", false);
+ }
+ }
+
+ void outputTaglets(int level, Tag[] tags, boolean descend, int context)
+ {
+ for (Iterator it = tagletMap.keySet().iterator(); it.hasNext(); ) {
+ String tagName = (String)it.next();
+ Object o = tagletMap.get(tagName);
+ Taglet taglet = (Taglet)o;
+
+ if (!taglet.isInlineTag()
+ && ((context != CONTEXT_CONSTRUCTOR || taglet.inConstructor())
+ || (context != CONTEXT_FIELD || taglet.inField())
+ || (context != CONTEXT_METHOD || taglet.inMethod())
+ || (context != CONTEXT_OVERVIEW || taglet.inOverview())
+ || (context != CONTEXT_PACKAGE || taglet.inPackage())
+ || (context != CONTEXT_TYPE || taglet.inType()))) {
+
+ List tagsOfThisType = new ArrayList();
+ for (int i=0, ilim=tags.length; i<ilim; ++i) {
+ if (tags[i].name().substring(1).equals(tagName)) {
+ tagsOfThisType.add(tags[i]);
+ }
+ }
+
+ if (!tagsOfThisType.isEmpty()) {
+ Tag[] tagletTags = (Tag[])tagsOfThisType.toArray(new Tag[tagsOfThisType.size()]);
+ if (taglet instanceof StandardTaglet) {
+ Iterator tagIterator = tagsOfThisType.iterator();
+ while (tagIterator.hasNext()) {
+ Tag tag = (Tag)tagIterator.next();
+ outputTag(tag, level, descend, context, !tagIterator.hasNext());
+ }
+ }
+ else {
+ String tagletString = taglet.toString(tagletTags);
+ if (null != tagletString) {
+ printOpenTag(0, "tag name=\"" + tagName + "\" taglet-generated=\"true\"");
+ if (fixHTML) {
+ print(htmlRepairer.getWellformedHTML(tagletString));
+ print(htmlRepairer.terminateText());
+ }
+ else {
+ print("<![CDATA["+cdata(tagletString)+"]]>");
+ }
+ printCloseTag(0, "tag", false);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Inofficial entry point. We got an instance here.
+ */
+ protected boolean instanceStart(RootDoc _rootDoc) {
+
+ this.rootDoc = _rootDoc;
+ _rootDoc = null;
+
+ boolean xmlOnly = true;
+
+ // Set the default Taglet order
+
+ registerTaglet(new VersionTaglet());
+ registerTaglet(new AuthorTaglet());
+ //registerTaglet(new SinceTaglet());
+ registerTaglet(new StandardTaglet("deprecated"));
+ registerTaglet(new StandardTaglet("see"));
+ registerTaglet(new StandardTaglet("param"));
+
+ // Set the built-in Taglet filter
+
+ AuthorTaglet.setTagletEnabled(false);
+ VersionTaglet.setTagletEnabled(false);
+ SinceTaglet.setTagletEnabled(true);
+ DeprecatedTaglet.setTagletEnabled(true);
+
+ try {
+ {
+
+ // Process command line options passed through to this doclet
+
+ TargetContext targetContext = null;
+
+ TargetContext htmlTargetContext
+ = new TargetContext(DocTranslet.fromClasspath("/doctranslets/html/gjdoc.xsl"),
+ targetDirectory);
+
+ for (int i=0, ilim=rootDoc.options().length; i<ilim; ++i) {
+
+ String[] option = rootDoc.options()[i];
+ String optionTag = option[0];
+
+ if ("-d".equals(optionTag)) {
+ if (null == targetDirectory) {
+ targetDirectory = new File(option[1]);
+ }
+ if (null != targetContext) {
+ targetContext.setTargetDirectory(targetDirectory);
+ }
+ }
+
+ else if ("-nofixhtml".equals(optionTag)) {
+ fixHTML = false;
+ printError("-nofixhtml currently not supported.");
+ return false;
+ }
+ else if ("-compress".equals(optionTag)) {
+ compress = true;
+ }
+ else if ("-nohtmlwarn".equals(optionTag)) {
+ noHTMLWarn = true;
+ }
+ else if ("-noemailwarn".equals(optionTag)) {
+ noEmailWarn = true;
+ }
+ else if ("-indentstep".equals(optionTag)) {
+ indentStep = Integer.parseInt(option[1]);
+ }
+ else if ("-doctranslet".equals(optionTag)) {
+ targets.add(targetContext = new TargetContext(DocTranslet.fromJarFile(new File(option[1])),
+ targetDirectory));
+ }
+ else if ("-genhtml".equals(optionTag)) {
+ htmlTargetContext.setTargetDirectory(targetDirectory);
+ targets.add(targetContext = htmlTargetContext);
+ xmlOnly = false;
+ }
+ else if ("-geninfo".equals(optionTag)) {
+ targetContext
+ = new TargetContext(DocTranslet.fromClasspath("/doctranslets/info/gengj.xsl"),
+ targetDirectory);
+ targets.add(targetContext);
+ if (!fixHTML) {
+ printNotice("NOTE: -geninfo implies -fixhtml.");
+ fixHTML = true;
+ }
+ xmlOnly = false;
+ }
+ else if ("-gendocbook".equals(optionTag)) {
+ targetContext = new TargetContext(DocTranslet.fromClasspath("/doctranslets/docbook/gengj.xsl"),
+ targetDirectory);
+ targets.add(targetContext);
+ if (!fixHTML) {
+ printNotice("NOTE: -gendocbook implies -fixhtml.");
+ fixHTML = true;
+ }
+ }
+ else if ("-genpdf".equals(optionTag)) {
+ targetContext
+ = new TargetContext(DocTranslet.fromClasspath("/doctranslets/docbook/gengj.xsl"),
+ targetDirectory);
+ /** "gnu.classpath.tools.doclets.xmldoclet.DocBookPostprocessor") **/
+ targets.add(targetContext);
+ if (!fixHTML) {
+ printNotice("NOTE: -genpdf implies -fixhtml.");
+ fixHTML = true;
+ }
+ }
+ else if ("-xmlonly".equals(optionTag)) {
+ xmlOnly = true;
+ }
+ else if ("-bottomnote".equals(optionTag)) {
+
+ FileReader reader = new FileReader(option[1]);
+ StringWriter writer = new StringWriter();
+ char[] buf = new char[256];
+ int nread;
+ while ((nread = reader.read(buf)) >= 0) {
+ writer.write(buf, 0, nread);
+ }
+ writer.flush();
+ bottomNote = writer.toString();
+ writer.close();
+ reader.close();
+ }
+ else if ("-title".equals(optionTag)) {
+
+ title = option[1];
+ }
+ else if ("-workpath".equals(optionTag)) {
+
+ workingPath = option[1];
+ }
+ else if ("-tagletpath".equals(optionTag)) {
+
+ if (null == tagletPath) {
+ tagletPath = option[1];
+ }
+ else {
+ tagletPath = tagletPath + File.pathSeparator + option[1];
+ }
+ }
+ else if ("-taglet".equals(optionTag)) {
+
+ boolean tagletLoaded = false;
+
+ String useTagletPath = this.tagletPath;
+ if (null == useTagletPath) {
+ useTagletPath = System.getProperty("java.class.path");
+ }
+
+ try {
+ Class tagletClass;
+ try {
+ tagletClass
+ = new FileSystemClassLoader(useTagletPath).loadClass(option[1]);
+ }
+ catch (ClassNotFoundException e) {
+ // If not found on specified tagletpath, try default classloader
+ tagletClass
+ = Class.forName(option[1]);
+ }
+ Method registerTagletMethod
+ = tagletClass.getDeclaredMethod("register", new Class[] { java.util.Map.class });
+
+ if (!registerTagletMethod.getReturnType().equals(Void.TYPE)) {
+ printError("Taglet class '" + option[1] + "' found, but register method doesn't return void.");
+ }
+ else if (registerTagletMethod.getExceptionTypes().length > 0) {
+ printError("Taglet class '" + option[1] + "' found, but register method contains throws clause.");
+ }
+ else if ((registerTagletMethod.getModifiers() & (Modifier.STATIC | Modifier.PUBLIC | Modifier.ABSTRACT)) != (Modifier.STATIC | Modifier.PUBLIC)) {
+ printError("Taglet class '" + option[1] + "' found, but register method isn't public static, or is abstract..");
+ }
+ else {
+ Map tempMap = new HashMap();
+ registerTagletMethod.invoke(null, new Object[] { tempMap });
+ tagletLoaded = true;
+ String name = (String)tempMap.keySet().iterator().next();
+ Taglet taglet = (Taglet)tempMap.get(name);
+ tagletMap.put(name, taglet);
+ mentionedTags.add(taglet);
+ }
+ }
+ catch (NoSuchMethodException e) {
+ printError("Taglet class '" + option[1] + "' found, but doesn't contain the register method.");
+ }
+ catch (SecurityException e) {
+ printError("Taglet class '" + option[1] + "' cannot be loaded: " + e.getMessage());
+ }
+ catch (InvocationTargetException e) {
+ printError("Taglet class '" + option[1] + "' found, but register method throws exception: " + e.toString());
+ }
+ catch (IllegalAccessException e) {
+ printError("Taglet class '" + option[1] + "' found, but there was a problem when accessing the register method: " + e.toString());
+ }
+ catch (IllegalArgumentException e) {
+ printError("Taglet class '" + option[1] + "' found, but there was a problem when accessing the register method: " + e.toString());
+ }
+ catch (ClassNotFoundException e) {
+ printError("Taglet class '" + option[1] + "' cannot be found.");
+ }
+ if (!tagletLoaded) {
+ return false;
+ }
+ }
+ else if ("-author".equals(optionTag)) {
+ AuthorTaglet.setTagletEnabled(true);
+ }
+ else if ("-version".equals(optionTag)) {
+ VersionTaglet.setTagletEnabled(true);
+ }
+ else if ("-nosince".equals(optionTag)) {
+ SinceTaglet.setTagletEnabled(false);
+ }
+ else if ("-nodeprecated".equals(optionTag)) {
+ DeprecatedTaglet.setTagletEnabled(false);
+ }
+ else if ("-authormail".equals(optionTag)) {
+
+ if ("no-replace".equalsIgnoreCase(option[1])) {
+ AuthorTaglet.setEmailReplacementType(AuthorTaglet.EmailReplacement.NO_REPLACEMENT);
+ }
+ else if ("mailto-name".equalsIgnoreCase(option[1])) {
+ AuthorTaglet.setEmailReplacementType(AuthorTaglet.EmailReplacement.MAILTO_NAME);
+ }
+ else if ("name-mailto-address".equalsIgnoreCase(option[1])) {
+ AuthorTaglet.setEmailReplacementType(AuthorTaglet.EmailReplacement.NAME_MAILTO_ADDRESS);
+ }
+ else if ("name-mangled-address".equalsIgnoreCase(option[1])) {
+ AuthorTaglet.setEmailReplacementType(AuthorTaglet.EmailReplacement.NAME_MANGLED_ADDRESS);
+ }
+ else {
+ printError("Invalid value for option '-authortag-email'. Allowed values are:"
+ + " no-replace, mailto-name, name-mailto-address, name-mangled-address.");
+ return false;
+ }
+ }
+ else if ("-mailmangledot".equals(optionTag)) {
+ AuthorTaglet.setDotReplacement(option[1]);
+ }
+ else if ("-mailmangleat".equals(optionTag)) {
+ AuthorTaglet.setAtReplacement(option[1]);
+ }
+ else if ("-docfilessubdirs".equals(optionTag)) {
+ docFilesSubdirsEnabled = true;
+ }
+ else if ("-excludedocfilessubdir".equals(optionTag)) {
+ StringTokenizer st = new StringTokenizer(option[1]);
+ while (st.hasMoreTokens()) {
+ excludeDocFilesSubDirs.add(st.nextToken());
+ }
+ }
+ else if ("-nonavbar".equals(optionTag)) {
+ docTransletOptions.nonavbar = true;
+ }
+ else if ("-noindex".equals(optionTag)) {
+ docTransletOptions.noindex = true;
+ }
+ else if ("-notree".equals(optionTag)) {
+ docTransletOptions.notree = true;
+ }
+ else if ("-nocomment".equals(optionTag)) {
+ docTransletOptions.nocomment = true;
+ }
+ else if ("-nohelp".equals(optionTag)) {
+ docTransletOptions.nohelp = true;
+ }
+ else if ("-splitindex".equals(optionTag)) {
+ docTransletOptions.splitindex = true;
+ }
+ else if ("-linksource".equals(optionTag)) {
+ docTransletOptions.linksource = true;
+ }
+ else if ("-windowtitle".equals(optionTag)) {
+ docTransletOptions.windowtitle = option[1];
+ }
+ else if ("-helpfile".equals(optionTag)) {
+ docTransletOptions.helpfile = new File(option[1]).toURL().toString();
+ }
+ else if ("-stylesheetfile".equals(optionTag)) {
+ docTransletOptions.stylesheetfile = new File(option[1]).toURL().toString();
+ }
+ else if ("-header".equals(optionTag)) {
+ docTransletOptions.header = option[1];
+ }
+ else if ("-footer".equals(optionTag)) {
+ docTransletOptions.footer = option[1];
+ }
+ else if ("-bottom".equals(optionTag)) {
+ docTransletOptions.bottom = option[1];
+ }
+ else if ("-doctitle".equals(optionTag)) {
+ docTransletOptions.doctitle = option[1];
+ }
+ else if ("-nodeprecatedlist".equals(optionTag)) {
+ docTransletOptions.nodeprecatedlist = true;
+ }
+ else if ("-uses".equals(optionTag)) {
+ docTransletOptions.uses = true;
+ }
+ else if ("-group".equals(optionTag)) {
+ if (!processGroupOption(option[1], option[2])) {
+ printError("Invalid package wildcard list in -group option \"" + option[1] + "\" " + option[2]);
+ return false;
+ }
+ }
+ else if ("-tag".equals(optionTag)) {
+ String tagSpec = option[1];
+ boolean validTagSpec = false;
+ int ndx1 = tagSpec.indexOf(':');
+ if (ndx1 < 0) {
+ Taglet taglet = (Taglet)tagletMap.get(tagSpec);
+ if (null == taglet) {
+ printError("There is no standard tag '" + tagSpec + "'.");
+ }
+ else {
+ if (mentionedTags.contains(taglet)) {
+ printError("Tag '" + tagSpec + "' has been added or moved before.");
+ }
+ else {
+ mentionedTags.add(taglet);
+
+ // re-append taglet
+ tagletMap.remove(tagSpec);
+ tagletMap.put(tagSpec, taglet);
+ }
+ }
+ }
+ else {
+ int ndx2 = tagSpec.indexOf(':', ndx1 + 1);
+ if (ndx2 > ndx1 && ndx2 < tagSpec.length() - 1) {
+ String tagName = tagSpec.substring(0, ndx1);
+ String tagHead = null;
+ if (tagSpec.charAt(ndx2 + 1) == '\"') {
+ if (tagSpec.charAt(tagSpec.length() - 1) == '\"') {
+ tagHead = tagSpec.substring(ndx2 + 2, tagSpec.length() - 1);
+ validTagSpec = true;
+ }
+ }
+ else {
+ tagHead = tagSpec.substring(ndx2 + 1);
+ validTagSpec = true;
+ }
+
+ boolean tagScopeOverview = false;
+ boolean tagScopePackages = false;
+ boolean tagScopeTypes = false;
+ boolean tagScopeConstructors = false;
+ boolean tagScopeMethods = false;
+ boolean tagScopeFields = false;
+ boolean tagDisabled = false;
+
+ tag_option_loop:
+ for (int n=ndx1+1; n<ndx2; ++n) {
+ switch (tagSpec.charAt(n)) {
+ case 'X':
+ tagDisabled = true;
+ break;
+ case 'a':
+ tagScopeOverview = true;
+ tagScopePackages = true;
+ tagScopeTypes = true;
+ tagScopeConstructors = true;
+ tagScopeMethods = true;
+ tagScopeFields = true;
+ break;
+ case 'o':
+ tagScopeOverview = true;
+ break;
+ case 'p':
+ tagScopePackages = true;
+ break;
+ case 't':
+ tagScopeTypes = true;
+ break;
+ case 'c':
+ tagScopeConstructors = true;
+ break;
+ case 'm':
+ tagScopeMethods = true;
+ break;
+ case 'f':
+ tagScopeFields = true;
+ break;
+ default:
+ validTagSpec = false;
+ break tag_option_loop;
+ }
+ }
+
+ if (validTagSpec) {
+ GenericTaglet taglet
+ = new GenericTaglet(tagName,
+ tagHead,
+ tagScopeOverview,
+ tagScopePackages,
+ tagScopeTypes,
+ tagScopeConstructors,
+ tagScopeMethods,
+ tagScopeFields);
+ taglet.setTagletEnabled(!tagDisabled);
+ taglet.register(tagletMap);
+ mentionedTags.add(taglet);
+ }
+ }
+ }
+ if (!validTagSpec) {
+ printError("Value for option -tag must be in format \"<tagname>:Xaoptcmf:<taghead>\".");
+ }
+ }
+ }
+
+ // Use current directory if target directory hasn't been set.
+ if (null == targetDirectory) {
+ targetDirectory = new File(System.getProperty("user.dir"));
+ }
+ if (null != targetContext) {
+ targetContext.setTargetDirectory(targetDirectory);
+ }
+
+ // It is illegal to specify targets AND -xmlonly.
+
+ if (xmlOnly && targets.size() > 0) {
+
+ printError("You can only specify one of -xmlonly and a target format.");
+ return false;
+ }
+
+ // If no target was specified and XML only was not
+ // requested, use HTML as default target.
+
+ if (!xmlOnly && targets.size() == 0) {
+ targets.add(targetContext = htmlTargetContext);
+ }
+
+ // Set the same target directory for all output.
+
+ // FIXME: Allow separate target directories for different
+ // output formats.
+
+ for (Iterator it = targets.iterator(); it.hasNext(); ) {
+ TargetContext t = (TargetContext)it.next();
+ t.setTargetDirectory(targetDirectory);
+ }
+
+ // Create temporary directory if necessary
+
+ if (xmlOnly) {
+
+ xmlTargetDirectory = targetDirectory;
+ }
+ else {
+
+ File workingTopDirectory = new File(workingPath);
+
+ workingDirectory = new File(workingTopDirectory, "gjdoc.tmp."+System.currentTimeMillis());
+
+ if (!workingDirectory.mkdir()) {
+ printError("Cannot create temporary directory at "+System.getProperty("java.io.tmpdir"));
+ return false;
+ }
+
+ File xmlTempDirectory = new File(workingDirectory, "xmloutput");
+
+ if (!xmlTempDirectory.mkdir()) {
+ printError("Cannot create temporary directory for XML output at "+System.getProperty("java.io.tmpdir"));
+ return false;
+ }
+
+ xmlTargetDirectory = xmlTempDirectory;
+ }
+
+ // Create target directory if necessary
+
+ if (!targetDirectory.exists()) {
+ printNotice("Creating destination directory: \""
+ + targetDirectory + "\"");
+ if (!targetDirectory.mkdirs()) {
+ printError("Failed to create destination directory \""
+ + targetDirectory + "\"");
+ return false;
+ }
+ }
+
+ // Check for deprecation
+
+ boolean hasDeprecatedClasses = false;
+ boolean hasDeprecatedInterfaces = false;
+ boolean hasDeprecatedExceptions = false;
+ boolean hasDeprecatedErrors = false;
+ boolean hasDeprecatedMethods = false;
+ boolean hasDeprecatedFields = false;
+
+ {
+ ClassDoc[] classes = rootDoc.classes();
+ for (int i = 0, ilim = classes.length; i < ilim; ++ i) {
+ ClassDoc c = classes[i];
+ Tag[] deprecatedTags = c.tags("deprecated");
+ if (null != deprecatedTags && 0 != deprecatedTags.length) {
+ if (c.isInterface()) {
+ hasDeprecatedInterfaces = true;
+ }
+ else if (c.isException()) {
+ hasDeprecatedExceptions = true;
+ }
+ else if (c.isError()) {
+ hasDeprecatedErrors = true;
+ }
+ else /*if (c.isOrdinaryClass())*/ {
+ hasDeprecatedClasses = true;
+ }
+ }
+
+ MethodDoc[] methods = c.methods();
+ for (int j = 0, jlim = methods.length; j < jlim; ++ j) {
+ MethodDoc m = methods[j];
+ deprecatedTags = m.tags("deprecated");
+ if (null != deprecatedTags && 0 != deprecatedTags.length) {
+ hasDeprecatedMethods = true;
+ }
+ }
+
+ FieldDoc[] fields = c.fields();
+ for (int j = 0, jlim = fields.length; j < jlim; ++ j) {
+ FieldDoc f = fields[j];
+ deprecatedTags = f.tags("deprecated");
+ if (null != deprecatedTags && 0 != deprecatedTags.length) {
+ hasDeprecatedFields = true;
+ }
+ }
+ }
+ }
+
+ htmlRepairer = new HtmlRepairer(rootDoc, noHTMLWarn, noEmailWarn,
+ currentClass, currentMember,
+ false);
+
+ collectUsage();
+
+ // Begin XML generation
+
+ printNotice("Writing XML Index file...");
+
+ // Assign output stream
+
+ setTargetFile("index.xml");
+
+ // Output XML document header
+
+ println(0, "<?xml version=\"1.0\"?>");
+ println("<!DOCTYPE gjdoc SYSTEM \"dtd/gjdoc.dtd\">");
+ println();
+ printOpenTag(0, "rootdoc xmlns=\"http://www.w3.org/TR/REC-html40\" xmlns:gjdoc=\"http://www.gnu.org/software/cp-tools/gjdocxml\"");
+
+ println();
+ println(1, "<!-- Tags from overview page, if available -->");
+
+ if (rootDoc.firstSentenceTags().length > 0) {
+ printOpenTag(2, "firstSentenceTags", false);
+ outputTags(3, rootDoc.firstSentenceTags(), true, CONTEXT_PACKAGE);
+ printCloseTag(0, "firstSentenceTags");
+ }
+
+ if (rootDoc.inlineTags().length > 0) {
+ printOpenTag(2, "inlineTags");
+ outputTags(3, rootDoc.inlineTags(), true, CONTEXT_PACKAGE);
+ printCloseTag(2, "inlineTags");
+ }
+
+ if (null != bottomNote) {
+ printOpenTag(1, "bottomnote");
+ print(bottomNote);
+ printCloseTag(1, "bottomnote");
+ }
+
+ if (null != title) {
+ printOpenTag(1, "title");
+ println(2, title);
+ printCloseTag(1, "title");
+ }
+
+ printOpenTag(1, "created");
+ println(2, DateFormat.getDateInstance(DateFormat.LONG, Locale.US).format(new java.util.Date()));
+ printCloseTag(1, "created");
+
+ if (hasDeprecatedClasses) printAtomTag(1, "hasDeprecatedClasses");
+ if (hasDeprecatedInterfaces) printAtomTag(1, "hasDeprecatedInterfaces");
+ if (hasDeprecatedExceptions) printAtomTag(1, "hasDeprecatedExceptions");
+ if (hasDeprecatedErrors) printAtomTag(1, "hasDeprecatedErrors");
+ if (hasDeprecatedMethods) printAtomTag(1, "hasDeprecatedMethods");
+ if (hasDeprecatedFields) printAtomTag(1, "hasDeprecatedFields");
+
+ // Output summary of all classes specified on command line
+
+ println();
+ println(1, "<!-- Classes specified by user on command line -->");
+ ClassDoc[] specifiedClasses = rootDoc.specifiedClasses();
+ for (int i=0, ilim=specifiedClasses.length; i<ilim; ++i) {
+ ClassDoc sc = specifiedClasses[i];
+ printAtomTag(1, "specifiedclass fqname=\""+sc.qualifiedName()+"\" name=\""+sc.name()+"\"");
+ }
+ specifiedClasses = null;
+
+ // Output summary of all packages specified on command line
+
+ println();
+ println(1, "<!-- Packages specified by user on command line -->");
+ PackageDoc[] specifiedPackages = rootDoc.specifiedPackages();
+ for (int i=0, ilim=specifiedPackages.length; i<ilim; ++i) {
+ PackageDoc sp = specifiedPackages[i];
+ printAtomTag(1, "specifiedpackage name=\""+sp.name()+"\"");
+ }
+ specifiedPackages = null;
+
+ // Output package group information specified on the
+ // command line
+
+ println();
+ println(1, "<!-- Package groups specified by user on command line -->");
+ {
+ Iterator packageGroupIt = packageGroups.iterator();
+ while (packageGroupIt.hasNext()) {
+ PackageGroup packageGroup = (PackageGroup)packageGroupIt.next();
+ SortedSet groupedPackages = packageGroup.getPackages();
+ if (groupedPackages.isEmpty()) {
+ printWarning("Package group named '"
+ + packageGroup.getName() + "' didn't match any packages.");
+ }
+ else {
+ printOpenTag(1, "packagegroup name=\"" + packageGroup.getName() + "\"");
+ Iterator groupedPackageIt = groupedPackages.iterator();
+ while (groupedPackageIt.hasNext()) {
+ PackageDoc groupedPackageDoc = (PackageDoc)groupedPackageIt.next();
+ printAtomTag(2, "package name=\"" + groupedPackageDoc.name() + "\"");
+ }
+ printCloseTag(1, "packagegroup");
+ }
+ }
+ packageGroups = null;
+ }
+
+ // Output information on all packages for which documentation
+ // has been made available via the Doclet API
+
+ println();
+ println(1, "<!-- Documentation for all packages -->");
+ PackageDoc[] packages = rootDoc.specifiedPackages();
+ for (int i=0, ilim=packages.length; i<ilim; ++i) {
+ PackageDoc c = packages[i];
+ outputPackageDoc(c);
+ }
+ packages = null;
+
+ // Output brief summary on all classes for which documentation
+ // has been made available via the Doclet API.
+ //
+ // While this is redundant, it can speed up XSLT
+ // processing by orders of magnitude
+
+ println();
+ println(1, "<!-- Brief summary for all classes -->");
+ ClassDoc[] sumclasses = rootDoc.classes();
+ for (int i=0, ilim=sumclasses.length; i<ilim; ++i) {
+ ClassDoc c = sumclasses[i];
+ outputClassDocSummary(c);
+ }
+ sumclasses = null;
+
+ // Output closing tag, finish output stream
+
+ println();
+ printCloseTag(0, "rootdoc");
+
+ closeTargetFile();
+
+ createIndexByName();
+
+
+
+ // Output information on all classes for which documentation
+ // has been made available via the Doclet API
+
+ println();
+ println(1, "<!-- Documentation for all classes -->");
+ ClassDoc[] classes = rootDoc.classes();
+ String prevPackageName = null;
+ for (int i = 0, ilim = classes.length; i < ilim; ++ i) {
+ ClassDoc c = classes[i];
+
+ if (isVerbose()) {
+ printNotice("Writing XML information for "+c.qualifiedName()+"...");
+ }
+ else {
+ String packageName = c.containingPackage().name();
+ if (null == prevPackageName || !packageName.equals(prevPackageName)) {
+ printNotice("Writing XML information for "+packageName+"...");
+ prevPackageName = packageName;
+ }
+ }
+
+ setTargetFile(c.qualifiedName().replace('/','.')+".xml");
+
+ println("<?xml version=\"1.0\"?>");
+ println("<!DOCTYPE gjdoc SYSTEM \"dtd/gjdoc.dtd\">");
+
+ outputClassDoc(c);
+
+ closeTargetFile();
+ }
+ classes = null;
+ }
+
+ // Copy DTD files to temporary directory
+
+ // FIXME: try to solve this via jar: URLs. but this will
+ // probably break libxmlj compatibility (?)
+
+ String[] resources = new String[] {
+ "gjdoc.dtd",
+ "gjdoc-alphaindex.dtd",
+ "dbcentx.mod",
+ "ent/iso-amsa.ent",
+ "ent/iso-amsb.ent",
+ "ent/iso-amsc.ent",
+ "ent/iso-amsn.ent",
+ "ent/iso-amso.ent",
+ "ent/iso-amsr.ent",
+ "ent/iso-box.ent",
+ "ent/iso-cyr1.ent",
+ "ent/iso-cyr2.ent",
+ "ent/iso-dia.ent",
+ "ent/iso-grk1.ent",
+ "ent/iso-grk2.ent",
+ "ent/iso-grk3.ent",
+ "ent/iso-grk4.ent",
+ "ent/iso-lat1.ent",
+ "ent/iso-lat2.ent",
+ "ent/iso-num.ent",
+ "ent/iso-pub.ent",
+ "ent/iso-tech.ent",
+ };
+
+ File tempDtdDirectory = new File(xmlTargetDirectory, "dtd");
+ File tempDtdEntDirectory = new File(tempDtdDirectory, "ent");
+
+ if ((tempDtdDirectory.exists() || tempDtdDirectory.mkdir())
+ && (tempDtdEntDirectory.exists() || tempDtdEntDirectory.mkdir())) {
+ for (int i = 0; i < resources.length; ++ i) {
+ copyResourceToFile("/dtd/" + resources[i],
+ new File(tempDtdDirectory, resources[i]));
+ }
+ }
+ else {
+ printError("Cannot create temporary directories for DTD data at " + tempDtdDirectory);
+ return false;
+ }
+
+ // Copy package data-dir directory
+
+ {
+ PackageDoc[] packages = rootDoc.specifiedPackages();
+ for (int i=0, ilim=packages.length; i<ilim; ++i) {
+ PackageDoc c = packages[i];
+ if (c instanceof GjdocPackageDoc) {
+ copyPackageDataDir((GjdocPackageDoc)c);
+ }
+ }
+ }
+
+ // All information has been output. Apply stylesheet if given.
+
+ gnu.classpath.tools.gjdoc.Main.releaseRootDoc();
+
+ this.currentClass = null;
+ this.currentMember = null;
+ this.currentExecMember = null;
+
+ System.gc();
+
+ // From this point we are only operating on files, so we don't
+ // need this anymore and can free up some memory
+
+ for (Iterator it = targets.iterator(); it.hasNext(); ) {
+
+ TargetContext target = (TargetContext)it.next();
+
+ // We have XSLT postprocessing, run DocTranslet.
+
+ //DocTranslet docTranslet = DocTranslet.fromClasspath("/doctranslets/html/gjdoc.xsl");
+
+ //docTranslet.setOptions(docTransletOptions);
+
+ target.getDocTranslet().setOptions(docTransletOptions);
+
+ target.getDocTranslet().apply(xmlTargetDirectory,
+ target.getTargetDirectory(),
+ rootDoc);
+ }
+
+ // Done
+
+ targets = null;
+
+ System.gc();
+ Runtime.getRuntime().runFinalization();
+
+ return true;
+ }
+ catch (Exception e) {
+
+ // Something went wrong. Report to stderr and pass error to
+ // Javadoc Reporter
+
+ e.printStackTrace();
+ printError(e.toString());
+
+ Throwable rootCause = e.getCause();
+ if (null != rootCause) {
+ while (null != rootCause.getCause()) {
+ rootCause = rootCause.getCause();
+ }
+ System.err.println("Root cause:");
+ rootCause.printStackTrace();
+ }
+
+ return false;
+ }
+ finally {
+
+ // In any case, delete the working directory if we created one
+
+ if (null != workingDirectory) {
+
+ if (!deleteRecursive(workingDirectory)) {
+ printWarning("Could not delete temporary directory at "+workingDirectory);
+ }
+ }
+
+ printNotice("Done.");
+ }
+ }
+
+ /**
+ * Recursively delete the specified directory and its contents,
+ * like <code>rm -Rf directory</code>
+ *
+ * @return <code>true</code> on success
+ */
+ private static boolean deleteRecursive(File directory) {
+
+ boolean success = true;
+
+ File[] files = directory.listFiles();
+
+ for (int i=0, ilim=files.length; i<ilim; ++i) {
+
+ File file = files[i];
+
+ if (file.isDirectory()) {
+
+ success = deleteRecursive(file) && success;
+ }
+ else {
+
+ success = file.delete() && success;
+ }
+ }
+
+ return directory.delete() && success;
+ }
+
+ /**
+ * Prints a string to stdout and appends a newline. Convenience
+ * method.
+ */
+ protected void println(String str) {
+ out.println(str);
+ }
+
+ /**
+ * Prints a string to stdout without appending a newline.
+ * Convenience method.
+ */
+ protected void print(String str) {
+ out.print(str);
+ }
+
+ /**
+ * In standard mode, prints an empty line to stdout.
+ * In thight mode, nothing happens.
+ * Convenience method.
+ */
+ protected void println() {
+ if (!compress) {
+ out.println();
+ }
+ }
+
+ /**
+ * In standard mode, prints the given text indented to stdout and appends newline.
+ * In tight mode, doesn't print indentation or newlines.
+ */
+ protected void print(int indentLevel, String msg) {
+ if (compress) {
+ out.print(msg);
+ }
+ else {
+ StringBuffer indentation = new StringBuffer();
+ for (int i=0; i<indentLevel*indentStep; ++i) {
+ indentation.append(' ');
+ }
+ out.print(indentation+msg);
+ }
+ }
+
+ /**
+ * In tight mode, prints a message at a given indentation level.
+ * In standard mode, appends a newline in addition.
+ */
+ protected void println(int indentLevel, String msg) {
+ print(indentLevel, msg);
+ if (!compress) out.println();
+ }
+
+ /**
+ * Prints an atom tag at the given indentation level.
+ */
+ protected void printAtomTag(int level, String tag) {
+ println(level, "<"+tagPrefix+":"+replaceCharsInTag(tag)+"/>");
+ }
+
+ /**
+ * Prints an open tag at the given indentation level.
+ */
+ protected void printOpenTag(int level, String tag) {
+ printOpenTag(level, replaceCharsInTag(tag), true);
+ }
+
+ /**
+ * Prints an open tag at the given indentation level and
+ * conditionally appends a newline (if not in tight mode).
+ */
+ protected void printOpenTag(int level, String tag, boolean appendNewline) {
+ if (appendNewline && !compress) {
+ println(level, "<"+tagPrefix+":"+replaceCharsInTag(tag)+">");
+ }
+ else {
+ print(level, "<"+tagPrefix+":"+replaceCharsInTag(tag)+">");
+ }
+ }
+
+ /**
+ * Prints a close tag at the given indentation level.
+ */
+ protected void printCloseTag(int level, String tag) {
+ printCloseTag(level, tag, true);
+ }
+
+ /**
+ * Prints a close tag at the given indentation level and
+ * conditionally appends a newline (if not in tight mode).
+ */
+ protected void printCloseTag(int level, String tag, boolean appendNewline) {
+ if (appendNewline && !compress) {
+ println(level, "</"+tagPrefix+":"+replaceCharsInTag(tag)+">");
+ }
+ else {
+ print(level, "</"+tagPrefix+":"+replaceCharsInTag(tag)+">");
+ }
+ }
+
+ public static int optionLength(String option) {
+ if ("-d".equals(option)) return 2;
+ else if ("-fixhtml".equals(option)) return 1;
+ else if ("-compress".equals(option)) return 1;
+ else if ("-nohtmlwarn".equals(option)) return 1;
+ else if ("-noemailwarn".equals(option)) return 1;
+ else if ("-indentstep".equals(option)) return 2;
+ else if ("-xslsheet".equals(option)) return 2;
+ else if ("-xsltdriver".equals(option)) return 2;
+ else if ("-postprocess".equals(option)) return 2;
+ else if ("-genhtml".equals(option)) return 1;
+ else if ("-geninfo".equals(option)) return 1;
+ else if ("-gendocbook".equals(option)) return 1;
+ else if ("-xmlonly".equals(option)) return 1;
+ else if ("-bottomnote".equals(option)) return 2;
+ else if ("-workpath".equals(option)) return 2;
+ else if ("-title".equals(option)) return 2;
+ else if ("-tagletpath".equals(option)) return 2;
+ else if ("-taglet".equals(option)) return 2;
+ else if ("-authormail".equals(option)) return 2;
+ else if ("-mailmangledot".equals(option)) return 2;
+ else if ("-mailmangleat".equals(option)) return 2;
+ else if ("-noindex".equals(option)) return 1;
+ else if ("-nocomment".equals(option)) return 1;
+ else if ("-notree".equals(option)) return 1;
+ else if ("-nohelp".equals(option)) return 1;
+ else if ("-nonavbar".equals(option)) return 1;
+ else if ("-splitindex".equals(option)) return 1;
+ else if ("-author".equals(option)) return 1;
+ else if ("-version".equals(option)) return 1;
+ else if ("-nosince".equals(option)) return 1;
+ else if ("-nodeprecated".equals(option)) return 1;
+ else if ("-linksource".equals(option)) return 1;
+ else if ("-windowtitle".equals(option)) return 2;
+ else if ("-helpfile".equals(option)) return 2;
+ else if ("-stylesheetfile".equals(option)) return 2;
+ else if ("-tag".equals(option)) return 2;
+ else if ("-header".equals(option)) return 2;
+ else if ("-footer".equals(option)) return 2;
+ else if ("-bottom".equals(option)) return 2;
+ else if ("-doctitle".equals(option)) return 2;
+ else if ("-nodeprecatedlist".equals(option)) return 1;
+ else if ("-uses".equals(option)) return 1;
+ else if ("-group".equals(option)) return 3;
+
+ else return -1;
+ }
+
+ public static boolean validOptions(String[][] options) {
+ return true;
+ }
+
+
+ /**
+ * Workaround for non well-formed comments: fix tag contents
+ * by replacing <code>&lt;</code> with <code>&amp;lt;</code>,
+ * <code>&gt;</code> with <code>&amp;gt;</code> and
+ * <code>&amp;</code> with <code>&amp;amp;</code>.
+ *
+ * @param tagContent String to process
+ *
+ * @return given String with all special characters replaced by
+ * HTML entities.
+ */
+ private static String replaceCharsInTag(String tagContent) {
+ return
+ replaceString(
+ replaceString(
+ replaceString(
+ tagContent,
+ "<", "&lt;"
+ ),
+ ">", "&gt;"
+ ),
+ "&", "&amp;"
+ );
+ }
+
+ /**
+ * Replaces all occurences of string <code>needle</code> within string
+ * <code>haystack</code> by string <code>replacement</code>.
+ *
+ * @param haystack The string to search and replace in.
+ * @param needle The string which is searched for.
+ * @param replacement The string by which every occurence of <code>needle</code> is replaced.
+ */
+ private static String replaceString(String haystack, String needle, String replacement) {
+ int ndx = haystack.indexOf(needle);
+ if (ndx<0)
+ return haystack;
+ else
+ return haystack.substring(0, ndx) + replacement
+ + replaceString(haystack.substring(ndx+needle.length()), needle, replacement);
+ }
+
+ protected void setTargetFile(String filename) throws IOException {
+
+ OutputStream fileOut = new FileOutputStream(new File(xmlTargetDirectory, filename));
+ out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(fileOut, "UTF8")));;
+ }
+
+ protected void closeTargetFile() {
+
+ out.flush();
+ out.close();
+ }
+
+ private String cdata(String str) {
+
+ if (null==str) {
+ return str;
+ } // end of if ((null==str)
+
+ StringBuffer rc = new StringBuffer();
+ for (int i=0; i<str.length(); ++i) {
+ char c = str.charAt(i);
+ if (c==0x09 || c==0x0a || c==0x0d || (c>=0x20 && c<=0xd7ff) || (c>=0xe000 && c<=0xfffd) || (c>=0x10000 && c<=0x10ffff)) {
+ rc.append(c);
+ }
+ else {
+ printWarning("Invalid Unicode character 0x"+Integer.toString(c, 16)+" in javadoc markup has been stripped.");
+ } // end of else
+
+ }
+ return rc.toString();
+ }
+
+ static void copyResourceToFile(String resourceName, File target) throws IOException {
+
+ InputStream in = Driver.class.getResourceAsStream(resourceName);
+
+ if (null != in) {
+
+ FileOutputStream out = new FileOutputStream(target);
+ int size;
+ byte[] buffer = new byte[512];
+ while ((size = in.read(buffer)) >= 0) {
+ out.write(buffer, 0, size);
+ }
+ out.close();
+ }
+ else {
+
+ throw new IOException("Can't find resource named "+resourceName);
+ }
+ }
+
+ private void printError(String error) {
+ if (null != rootDoc) {
+ rootDoc.printError(error);
+ }
+ else {
+ System.err.println("ERROR: "+error);
+ }
+ }
+
+ private void printWarning(String warning) {
+ if (null != rootDoc) {
+ rootDoc.printWarning(warning);
+ }
+ else {
+ System.err.println("WARNING: "+warning);
+ }
+ }
+
+ private void printNotice(String notice) {
+ if (null != rootDoc) {
+ rootDoc.printNotice(notice);
+ }
+ else {
+ System.err.println(notice);
+ }
+ }
+
+ /**
+ * Copy the contents of the input directory to the output
+ * directory. The output directory must exist.
+ */
+ private void copyPackageDataDir(GjdocPackageDoc packageDoc) throws IOException {
+ File docFilesSourceDirectory
+ = new File(packageDoc.packageDirectory(), "doc-files");
+ File docFilesTargetDirectory
+ = new File(this.targetDirectory,
+ packageDoc.name().replace('.', File.separatorChar));
+ if (docFilesSourceDirectory.exists()) {
+ printNotice("Copying files from " + docFilesSourceDirectory);
+ copyDirectory(docFilesSourceDirectory, docFilesTargetDirectory,
+ docFilesSubdirsEnabled,
+ excludeDocFilesSubDirs);
+ }
+ }
+
+ /**
+ * Recursively copy the contents of the input directory to the
+ * output directory. The output directory must exist.
+ */
+ private static void copyDirectory(File sourceDir, File targetDir,
+ boolean recursive,
+ Set excludeDirs) throws IOException {
+ if (!targetDir.exists() && !targetDir.mkdirs()) {
+ throw new IOException("Cannot create directory " + targetDir);
+ }
+
+ File[] sourceFiles = sourceDir.listFiles();
+ for (int i=0; i<sourceFiles.length; ++i) {
+ if (sourceFiles[i].isDirectory()) {
+ if (recursive && (null == excludeDirs
+ || !excludeDirs.contains(sourceFiles[i].getName()))) {
+ File targetSubDir = new File(targetDir,
+ sourceFiles[i].getName());
+ if (targetSubDir.exists() || targetSubDir.mkdir()) {
+ copyDirectory(sourceFiles[i], targetSubDir, recursive, null);
+ }
+ else {
+ throw new IOException("Cannot create directory " + targetSubDir);
+ }
+ }
+ }
+ else {
+ copyFile(sourceFiles[i], new File(targetDir, sourceFiles[i].getName()));
+ }
+ }
+ }
+
+ /**
+ * Copy the contents of the input file to the output file. The
+ * output file's parent directory must exist.
+ */
+ private static void copyFile(File sourceFile, File targetFile) throws IOException {
+
+ InputStream in = new FileInputStream(sourceFile);
+ OutputStream out = new FileOutputStream(targetFile);
+ int nread;
+ byte[] buf = new byte[512];
+ while ((nread = in.read(buf)) >= 0) {
+ out.write(buf, 0, nread);
+ }
+ in.close();
+ out.close();
+ }
+
+ private void createIndexByName() throws IOException {
+ // Create index
+
+ // Collect index
+
+ Map indexMap = new TreeMap(new Comparator() {
+ public int compare(Object o1, Object o2) {
+ return o1.toString().toLowerCase().compareTo(o2.toString().toLowerCase());
+ }
+ });
+
+ // Add packages to index
+
+ PackageDoc[] packages = rootDoc.specifiedPackages();
+ for (int i=0, ilim=packages.length; i<ilim; ++i) {
+ PackageDoc c = packages[i];
+ indexMap.put(c.name(), c);
+ }
+
+ // Add classes, fields and methods to index
+
+ ClassDoc[] sumclasses = rootDoc.classes();
+ for (int i=0, ilim=sumclasses.length; i<ilim; ++i) {
+ ClassDoc c = sumclasses[i];
+ if (null == c.containingClass()) {
+ indexMap.put(c.name(), c);
+ }
+ else {
+ indexMap.put(c.name().substring(c.containingClass().name().length() + 1), c);
+ }
+ FieldDoc[] fields = c.fields();
+ for (int j=0, jlim=fields.length; j<jlim; ++j) {
+ indexMap.put(fields[j].name(), fields[j]);
+ }
+ MethodDoc[] methods = c.methods();
+ for (int j=0, jlim=methods.length; j<jlim; ++j) {
+ MethodDoc method = methods[j];
+ StringBuffer signature = new StringBuffer();
+ signature.append(method.name());
+ signature.append('(');
+ Parameter[] parameters = method.parameters();
+ for (int k=0, klim=parameters.length; k<klim; ++k) {
+ if (k > 0) {
+ signature.append(", ");
+ }
+ signature.append(parameters[k].typeName());
+ }
+ signature.append(')');
+ indexMap.put(signature.toString(), method);
+ }
+ }
+
+ // Assign output stream
+
+ setTargetFile("alphaindex.xml");
+
+ // Output XML document header
+
+ println(0, "<?xml version=\"1.0\"?>");
+ println("<!DOCTYPE gjdoc SYSTEM \"dtd/gjdoc-alphaindex.dtd\">");
+ println();
+ printOpenTag(0, "alphaindex xmlns=\"http://www.w3.org/TR/REC-html40\" xmlns:gjdoc=\"http://www.gnu.org/software/cp-tools/gjdocxml\"");
+
+ Iterator it = indexMap.keySet().iterator();
+
+ char previousCategoryLetter = '\0';
+ boolean categoryOpen = false;
+
+ while (it.hasNext()) {
+ String key = (String)it.next();
+ Doc entry = (Doc)indexMap.get(key);
+
+ char firstChar = Character.toUpperCase(key.charAt(0));
+ if (firstChar != previousCategoryLetter) {
+ if (categoryOpen) {
+ printCloseTag(1, "category");
+ }
+ printOpenTag(1, "category letter=\"" + firstChar + "\"");
+ categoryOpen = true;
+ previousCategoryLetter = firstChar;
+ }
+
+ printOpenTag(2, "entry name=\"" + key + "\"");
+ if (entry instanceof PackageDoc) {
+ printAtomTag(3, "isPackage");
+ }
+ else if (entry instanceof ClassDoc) {
+ printAtomTag(3, "isClass");
+ ClassDoc centry = (ClassDoc)entry;
+ currentClass = centry;
+ printAtomTag(3, "containingPackage name=\"" + centry.containingPackage().name() + "\"");
+ if (null != centry.containingClass()) {
+ printAtomTag(3, "containingClass name=\"" + centry.containingClass().name() + "\"");
+ }
+ if (centry.isInterface()) {
+ printAtomTag(3, "isInterface");
+ }
+ if (centry.isException()) {
+ printAtomTag(3, "isException");
+ }
+ if (centry.isError()) {
+ printAtomTag(3, "isError");
+ }
+ if (centry.isOrdinaryClass()) {
+ printAtomTag(3, "isOrdinaryClass");
+ }
+ }
+ else if (entry instanceof ProgramElementDoc) {
+ ProgramElementDoc pentry = (ProgramElementDoc)entry;
+ currentClass = pentry.containingClass();
+ printAtomTag(3, "containingPackage name=\"" + pentry.containingPackage().name() + "\"");
+ printAtomTag(3, "containingClass name=\"" + pentry.containingClass().name() + "\"");
+ if (pentry.isMethod()) {
+ printAtomTag(3, "isMethod");
+ ExecutableMemberDoc mentry = (ExecutableMemberDoc)pentry;
+ printAtomTag(3, "signature full=\""+mentry.signature()+"\" flat=\""+mentry.flatSignature()+"\"");
+ printAtomTag(3, "method name=\"" + mentry.name() + "\"");
+ }
+ if (pentry.isField()) {
+ printAtomTag(3, "isField");
+ }
+ }
+
+ Tag[] tags = entry.firstSentenceTags();
+ for (int i=0, ilim=tags.length; i<ilim; ++i) {
+ Tag tag = tags[i];
+ if (tag.firstSentenceTags().length>0) {
+ printOpenTag(3, "firstSentenceTags", false);
+ outputTags(4, tag.firstSentenceTags(), false, CONTEXT_TYPE);
+ printCloseTag(3, "firstSentenceTags");
+ }
+ }
+
+
+ printCloseTag(2, "entry");
+ }
+
+ if (categoryOpen) {
+ printCloseTag(1, "category");
+ }
+
+ printCloseTag(0, "alphaindex");
+
+ closeTargetFile();
+ }
+
+ private static class UsageType
+ {
+ public static final UsageType CLASS_DERIVED_FROM = new UsageType("class-derived-from");
+ public static final UsageType FIELD_OF_TYPE = new UsageType("field-of-type");
+ public static final UsageType METHOD_WITH_RETURN_TYPE = new UsageType("method-with-return-type");
+ public static final UsageType METHOD_WITH_PARAMETER_TYPE = new UsageType("method-with-parameter-type");
+ public static final UsageType METHOD_WITH_THROWN_TYPE = new UsageType("method-with-thrown-type");
+ public static final UsageType CONSTRUCTOR_WITH_PARAMETER_TYPE = new UsageType("constructor-with-parameter-type");
+ public static final UsageType CONSTRUCTOR_WITH_THROWN_TYPE = new UsageType("constructor-with-thrown-type");
+ private String id;
+
+ private UsageType(String id)
+ {
+ this.id = id;
+ }
+
+ public String toString() {
+ return "UsageType{id=" + id + "}";
+ }
+
+ public String getId() {
+ return id;
+ }
+ }
+
+ /**
+ * ClassDoc -> (PackageDoc -> (UsageType -> (Set of Doc)))
+ */
+ private Map usedClassToPackagesMap = new HashMap();
+
+ private void addUsedBy(ClassDoc usedClass, UsageType usageType, Doc user, PackageDoc userPackage)
+ {
+ Map packageToUsageTypeMap = (Map)usedClassToPackagesMap.get(usedClass);
+ if (null == packageToUsageTypeMap) {
+ packageToUsageTypeMap = new HashMap();
+ usedClassToPackagesMap.put(usedClass, packageToUsageTypeMap);
+ }
+
+ Map usageTypeToUsersMap = (Map)packageToUsageTypeMap.get(userPackage);
+ if (null == usageTypeToUsersMap) {
+ usageTypeToUsersMap = new HashMap();
+ packageToUsageTypeMap.put(userPackage, usageTypeToUsersMap);
+ }
+
+ Set userSet = (Set)usageTypeToUsersMap.get(usageType);
+ if (null == userSet) {
+ userSet = new TreeSet(); // FIXME: we need the collator from Main here
+ usageTypeToUsersMap.put(usageType, userSet);
+ }
+ userSet.add(user);
+ }
+
+ /**
+ * Create the cross reference database.
+ */
+ private void collectUsage() {
+
+ ClassDoc[] classes = rootDoc.classes();
+ for (int i = 0, ilim = classes.length; i < ilim; ++ i) {
+ ClassDoc clazz = classes[i];
+
+ // classes derived from
+ for (ClassDoc superclass = clazz.superclass(); superclass != null;
+ superclass = superclass.superclass()) {
+ addUsedBy(superclass, UsageType.CLASS_DERIVED_FROM, clazz, clazz.containingPackage());
+ }
+
+ FieldDoc[] fields = clazz.fields();
+ for (int j = 0, jlim = fields.length; j < jlim; ++ j) {
+ FieldDoc field = fields[j];
+
+ // fields of type
+ ClassDoc fieldType = field.type().asClassDoc();
+ if (null != fieldType) {
+ addUsedBy(fieldType, UsageType.FIELD_OF_TYPE,
+ field, clazz.containingPackage());
+ }
+ }
+
+ MethodDoc[] methods = clazz.methods();
+ for (int j = 0, jlim = methods.length; j < jlim; ++ j) {
+ MethodDoc method = methods[j];
+
+ // methods with return type
+
+ ClassDoc returnType = method.returnType().asClassDoc();
+ if (null != returnType) {
+ addUsedBy(returnType, UsageType.METHOD_WITH_RETURN_TYPE,
+ method, clazz.containingPackage());
+ }
+ Parameter[] parameters = method.parameters();
+ for (int k=0; k<parameters.length; ++k) {
+
+ // methods with parameter type
+
+ Parameter parameter = parameters[k];
+ ClassDoc parameterType = parameter.type().asClassDoc();
+ if (null != parameterType) {
+ addUsedBy(parameterType, UsageType.METHOD_WITH_PARAMETER_TYPE,
+ method, clazz.containingPackage());
+ }
+ }
+
+ // methods which throw
+
+ ClassDoc[] thrownExceptions = method.thrownExceptions();
+ for (int k = 0, klim = thrownExceptions.length; k < klim; ++ k) {
+ ClassDoc thrownException = thrownExceptions[k];
+ addUsedBy(thrownException, UsageType.METHOD_WITH_THROWN_TYPE,
+ method, clazz.containingPackage());
+ }
+ }
+
+ ConstructorDoc[] constructors = clazz.constructors();
+ for (int j = 0, jlim = constructors.length; j < jlim; ++ j) {
+
+ ConstructorDoc constructor = constructors[j];
+
+ Parameter[] parameters = constructor.parameters();
+ for (int k = 0, klim = parameters.length; k < klim; ++ k) {
+
+ // constructors with parameter type
+
+ Parameter parameter = parameters[k];
+ ClassDoc parameterType = parameter.type().asClassDoc();
+ if (null != parameterType) {
+ addUsedBy(parameterType, UsageType.CONSTRUCTOR_WITH_PARAMETER_TYPE,
+ constructor, clazz.containingPackage());
+ }
+ }
+
+ // constructors which throw
+
+ ClassDoc[] thrownExceptions = constructor.thrownExceptions();
+ for (int k = 0, klim = thrownExceptions.length; k < klim; ++ k) {
+ ClassDoc thrownException = thrownExceptions[k];
+ addUsedBy(thrownException, UsageType.CONSTRUCTOR_WITH_THROWN_TYPE,
+ constructor, clazz.containingPackage());
+ }
+ }
+ }
+ }
+
+ private void outputUsage(ClassDoc clazz, int level) {
+
+ Map packageToUsageTypeMap = (Map)usedClassToPackagesMap.get(clazz);
+ if (null != packageToUsageTypeMap) {
+ printOpenTag(level, "references");
+
+ Iterator packagesIterator = packageToUsageTypeMap.keySet().iterator();
+
+ while (packagesIterator.hasNext()) {
+ PackageDoc packageDoc = (PackageDoc)packagesIterator.next();
+ printOpenTag(level + 1, "referencing-package name=\"" + packageDoc.name() + "\"");
+ Map usageTypeToUsersMap = (Map)packageToUsageTypeMap.get(packageDoc);
+ Iterator usageTypeIterator = usageTypeToUsersMap.keySet().iterator();
+ while (usageTypeIterator.hasNext()) {
+ UsageType usageType = (UsageType)usageTypeIterator.next();
+ printOpenTag(level + 2, "usage-type id=\"" + usageType.getId() + "\"");
+ Set users = (Set)usageTypeToUsersMap.get(usageType);
+ Iterator userIterator = users.iterator();
+ while (userIterator.hasNext()) {
+ Doc user = (Doc)userIterator.next();
+ if (user instanceof ClassDoc) {
+ printAtomTag(level + 3, "user"
+ + " class=\"" + ((ClassDoc)user).name() + "\"");
+ }
+ else if (user instanceof FieldDoc) {
+ FieldDoc fieldDoc = (FieldDoc)user;
+ printAtomTag(level + 3, "user"
+ + " class=\"" + fieldDoc.containingClass().name() + "\""
+ + " field=\"" + fieldDoc.name() + "\"");
+ }
+ else if (user instanceof MethodDoc) {
+ MethodDoc methodDoc = (MethodDoc)user;
+ printAtomTag(level + 3, "user"
+ + " class=\"" + methodDoc.containingClass().name() + "\""
+ + " method=\"" + methodDoc.name() + "\""
+ + " signature=\"" + methodDoc.signature() + "\""
+ + " flatSignature=\"" + methodDoc.flatSignature() + "\"");
+ }
+ else if (user instanceof ConstructorDoc) {
+ ConstructorDoc constructorDoc = (ConstructorDoc)user;
+ printAtomTag(level + 3, "user"
+ + " class=\"" + constructorDoc.containingClass().name() + "\""
+ + " signature=\"" + constructorDoc.signature() + "\""
+ + " flatSignature=\"" + constructorDoc.flatSignature() + "\"");
+ }
+ }
+ printCloseTag(level +2, "usage-type");
+ }
+ printCloseTag(level + 1, "referencing-package");
+ }
+
+ printCloseTag(level, "references");
+ }
+ }
+
+ private boolean processGroupOption(String groupName, String colonSeparatedPackageList)
+ {
+ try {
+ PackageMatcher packageMatcher = new PackageMatcher();
+
+ StringTokenizer tokenizer = new StringTokenizer(colonSeparatedPackageList, ":");
+ while (tokenizer.hasMoreTokens()) {
+ String packageWildcard = tokenizer.nextToken();
+ packageMatcher.addWildcard(packageWildcard);
+ }
+
+ SortedSet groupPackages = packageMatcher.filter(rootDoc.specifiedPackages());
+
+ packageGroups.add(new PackageGroup(groupName, groupPackages));
+
+ return true;
+ }
+ catch (InvalidPackageWildcardException e) {
+ return false;
+ }
+ }
+
+ private void registerTaglet(Taglet taglet)
+ {
+ tagletMap.put(taglet.getName(), taglet);
+ }
+
+ private boolean isVerbose()
+ {
+ return false;
+ }
+}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.java
index bbb57aca2d5..e2297d8e968 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.java
@@ -1,67 +1,84 @@
-/* gnu.classpath.tools.doclets.xmldoclet.Driver1_4
- Copyright (C) 2001 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
-
-package gnu.classpath.tools.doclets.xmldoclet;
-
-import com.sun.javadoc.*;
-import java.io.IOException;
-
-/**
- * A Doclet which retrieves all information presented by the Doclet
- * API, dumping it to stdout in XML format.
- *
- * Supports Doclet API Version 1.4.
- *
- * @author Julian Scheid
- */
-public class Driver1_4 extends Driver {
-
- /**
- * Official Doclet entry point.
- */
- public static boolean start(RootDoc root) {
-
- // Create a new XmlDoclet instance and delegate control.
- return new Driver1_4().instanceStart(root);
- }
-
- /* since 1.4
- private void outputSourcePosition(int level, SourcePosition sourcePosition) {
- println(level, "<sourceposition"
- + " file=\""+sourcePosition.file().toString()+"\""
- + " line=\""+sourcePosition.line()+"\""
- + " column=\""+sourceposition.column()+"\""
- + "/>");
- }
- */
-
- protected void outputClassDoc(ClassDoc classDoc)
- throws IOException
- {
- super.outputClassDoc(classDoc);
- //outputSourcePosition(level, doc.position());
- }
-
- protected void outputFieldDocBody(int level, FieldDoc fieldDoc) {
- super.outputFieldDocBody(level, fieldDoc);
- //println(level, "<constantValueExpression>"+fieldDoc.constantValueExpression()+"</constantValueExpression>");
- }
-
-}
+/* gnu.classpath.tools.doclets.xmldoclet.Driver1_4
+ Copyright (C) 2001 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.classpath.tools.doclets.xmldoclet;
+
+import com.sun.javadoc.*;
+import java.io.IOException;
+
+/**
+ * A Doclet which retrieves all information presented by the Doclet
+ * API, dumping it to stdout in XML format.
+ *
+ * Supports Doclet API Version 1.4.
+ *
+ * @author Julian Scheid
+ */
+public class Driver1_4 extends Driver {
+
+ /**
+ * Official Doclet entry point.
+ */
+ public static boolean start(RootDoc root) {
+
+ // Create a new XmlDoclet instance and delegate control.
+ return new Driver1_4().instanceStart(root);
+ }
+
+ /* since 1.4
+ private void outputSourcePosition(int level, SourcePosition sourcePosition) {
+ println(level, "<sourceposition"
+ + " file=\""+sourcePosition.file().toString()+"\""
+ + " line=\""+sourcePosition.line()+"\""
+ + " column=\""+sourceposition.column()+"\""
+ + "/>");
+ }
+ */
+
+ protected void outputClassDoc(ClassDoc classDoc)
+ throws IOException
+ {
+ super.outputClassDoc(classDoc);
+ //outputSourcePosition(level, doc.position());
+ }
+
+ protected void outputFieldDocBody(int level, FieldDoc fieldDoc) {
+ super.outputFieldDocBody(level, fieldDoc);
+ //println(level, "<constantValueExpression>"+fieldDoc.constantValueExpression()+"</constantValueExpression>");
+ }
+
+}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.java
index df9be0ae583..175d4e864a1 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.java
@@ -1,674 +1,691 @@
-/* gnu.classpath.tools.doclets.xmldoclet.HtmlRepairer.java
- Copyright (C) 2003 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
-
-package gnu.classpath.tools.doclets.xmldoclet;
-
-import java.io.*;
-import java.util.*;
-import com.sun.javadoc.DocErrorReporter;
-import com.sun.javadoc.ClassDoc;
-import com.sun.javadoc.MemberDoc;
-
-/**
- * Provides methods for tidying up HTML source.
- *
- * @author Julian Scheid
- */
-public final class HtmlRepairer {
-
- private static class TagInfo {
-
- private Set parentTags = new HashSet();
-
- public TagInfo(String parentTag) {
- this.parentTags.add(parentTag);
- }
-
- public TagInfo(String[] parentTagArr) {
- for (int i=0; i<parentTagArr.length; ++i) {
- this.parentTags.add(parentTagArr[i]);
- }
- }
-
- public boolean isLegalParentTag(String tag) {
- return this.parentTags.contains(tag);
- }
- }
-
- private DocErrorReporter warningReporter;
- private boolean noWarn;
- private boolean noEmailWarn;
- private ClassDoc contextClass;
- private MemberDoc contextMember;
- private StringBuffer output = new StringBuffer();
- private Stack tagStack = new Stack();
- private boolean isLeadingTag = true;
- private boolean throwAwayLeadingPara = false;
-
- private static Map tagInfoMap;
-
- private static Set noTextParentTags;
-
- static {
- tagInfoMap = new HashMap();
- tagInfoMap.put("li", new TagInfo(new String[] { "ul", "ol", "nl", "menu", "dir" }));
- tagInfoMap.put("td", new TagInfo(new String[] { "tr" }));
- tagInfoMap.put("th", new TagInfo(new String[] { "tr" }));
- tagInfoMap.put("tr", new TagInfo(new String[] { "table" }));
- tagInfoMap.put("dt", new TagInfo(new String[] { "dl" }));
- tagInfoMap.put("dd", new TagInfo(new String[] { "dl" }));
- tagInfoMap.put("param", new TagInfo(new String[] { "applet" }));
-
- String[] noTextParentTagArr = {
- "area", "base", "body", "br", "dd", "dt", "head", "hr", "html",
- "img", "input", "link", "map", "meta", "ol", "optgroup", "param",
- "select", "table", "tbody", "tfoot", "thead", "tr", "ul",
- };
-
- noTextParentTags = new HashSet();
- for (int i=0; i<noTextParentTagArr.length; ++i) {
- noTextParentTags.add(noTextParentTagArr[i]);
- }
- }
-
- public HtmlRepairer(DocErrorReporter warningReporter,
- boolean noWarn, boolean noEmailWarn,
- ClassDoc contextClass, MemberDoc contextMember,
- boolean throwAwayLeadingPara) {
- this.warningReporter = warningReporter;
- this.noWarn = noWarn;
- this.noEmailWarn = noEmailWarn;
- this.contextClass = contextClass;
- this.contextMember = contextMember;
- this.throwAwayLeadingPara = throwAwayLeadingPara;
- }
-
- private static String replaceStr(String haystack, String needle, String replacement) {
- int ndx=haystack.indexOf(needle);
- if (ndx<0)
- return haystack;
- else
- return haystack.substring(0, ndx)+replacement
- + replaceStr(haystack.substring(ndx+needle.length()), needle, replacement);
- }
-
- private void haveText(String text) {
-
- if (isLeadingTag && throwAwayLeadingPara) {
- if (0 != text.trim().length()) {
- isLeadingTag = false;
- }
- }
-
- if (tagStack.isEmpty() || !noTextParentTags.contains(tagStack.peek())) {
-
- text = replaceStr(text, "&lt1", "&lt;1");
- text = replaceStr(text, "&&", "&amp;&amp;");
- text = replaceStr(text, "& ", "&amp; ");
- text = replaceStr(text, "&\t", "&amp;\t");
- text = replaceStr(text, "&\r", "&amp;\r");
- text = replaceStr(text, "&\n", "&amp;\n");
- for (char c='0'; c<='9'; ++c)
- text = replaceStr(text, "&"+c, "&amp;"+c);
- text = replaceStr(text, "\u00a7", "&sect;");
- output.append(text);
- }
- else {
- printWarning("Discarded text in <" + tagStack.peek() + "> element");
- }
- }
-
- private void haveStartOrEndTag(String tag) {
-
- boolean _isLeadingTag = isLeadingTag;
- isLeadingTag = false;
-
- tag = tag.trim();
-
- boolean isEndTag = tag.startsWith("/");
- boolean isAtomTag = tag.endsWith("/");
-
- if (isEndTag && isAtomTag) {
- // got something like '</a/>' which is invalid.
- // suppose a close tag was intended.
- tag = tag.substring(0, tag.length()-1);
- }
-
- if (tag.length() < 1) {
- printWarning("Deleting broken tag");
- return;
- }
-
- String tagName = tag.substring(isEndTag?1:0, isAtomTag?tag.length()-1:tag.length());
- String tagAttributes = "";
-
- for (int i=0; i<tagName.length(); ++i) {
- if (" \t\r\n".indexOf(tagName.charAt(i))>=0) {
- tagAttributes = tagName.substring(i).trim();
- tagName = tagName.substring(0, i);
- break;
- }
- }
-
- if (!isEndTag && tagName.indexOf('@')>0) {
- if (!noEmailWarn) {
- printWarning("Tag looks like email address: <"+tagName+">");
- }
- output.append("&lt;"+tag+"&gt;");
- return;
- }
-
- tagName = tagName.toLowerCase();
-
- if (_isLeadingTag && "p".equals(tagName) && !isEndTag && throwAwayLeadingPara) {
- return;
- }
-
- if ("p".equals(tagName) || "br".equals(tagName) || "hr".equals(tagName)) {
- // throw away </p> and </br>
- if (isEndTag) {
- return;
- }
- // make sure every <p> is a <p/> and every <br> is a <br/>
- else if (!isAtomTag) {
- tag += "/";
- isAtomTag = true;
- }
- }
-
- if (isEndTag) {
-
- // check whether this close tag is on the stack
- // if yes, close all tags up to this tag
- if (tagStack.contains(tagName)) {
- String popped;
- do {
- popped = (String)tagStack.pop();
- if (!popped.equals(tagName))
- printWarning("Inserting '</"+popped+">");
- output.append("</"+popped+">");
- }
- while (!popped.equals(tagName));
- }
- // if not, just throw it away
- else {
- printWarning("Deleting <"+tag+">");
- }
- }
- else {
-
- final int STATE_INITIAL = 1;
- final int STATE_EXPECT_ATTRIBUTENAME = 2;
- final int STATE_UNQUOTED_ATTRIBUTEVALUE = 3;
- final int STATE_SINGLEQUOTE_ATTRIBUTEVALUE = 4;
- final int STATE_DOUBLEQUOTE_ATTRIBUTEVALUE = 5;
- final int STATE_EXPECT_ATTRIBUTEVALUE = 6;
- final int STATE_EXPECT_EQUALSIGN = 7;
-
- int state = STATE_INITIAL;
-
- String newAttributes = "";
- String attributeName = null;
- StringBuffer buf = new StringBuffer();
-
- char[] attrsAsChars = tagAttributes.toCharArray();
- for (int i=0, ilim=attrsAsChars.length+1; i<ilim; ++i) {
- int c;
- if (i<attrsAsChars.length)
- c = (int)attrsAsChars[i];
- else
- c = -1;
-
- switch (state) {
-
- case STATE_INITIAL:
- if (" \t\r\n".indexOf(c)>=0){
- continue;
- }
- else if (-1==c) {
- continue;
- }
- else {
- state = STATE_EXPECT_ATTRIBUTENAME;
- buf.append((char)c);
- }
- break;
-
- case STATE_EXPECT_ATTRIBUTENAME:
- if ('='==c) {
- attributeName = buf.toString();
- buf.setLength(0);
- state = STATE_EXPECT_ATTRIBUTEVALUE;
- }
- else if (-1==c) {
- attributeName = buf.toString();
- buf.setLength(0);
- printWarning("In Tag '"+tag+"':\nAttribute name without a value, inserting value =\""+attributeName+"\"");
- }
- else if (" \t\r\n".indexOf(c)>=0) {
- state = STATE_EXPECT_EQUALSIGN;
- }
- else {
- buf.append((char)c);
- }
- break;
-
- case STATE_EXPECT_EQUALSIGN:
- if (" \t\r\n".indexOf(c)>=0){
- continue;
- }
- else if ('='==c) {
- state = STATE_EXPECT_ATTRIBUTEVALUE;
- attributeName = buf.toString();
- buf.setLength(0);
- }
- else {
- attributeName = buf.toString();
- buf.setLength(0);
- printWarning("In Tag '"+tag+"':\nAttribute name without a value, inserting value =\""+attributeName+"\"");
- newAttributes += " "+attributeName+"=\""+attributeName+"\"";
- buf.append((char)c);
- state = STATE_EXPECT_ATTRIBUTENAME;
- }
- break;
-
- case STATE_EXPECT_ATTRIBUTEVALUE:
- if (" \t\r\n".indexOf(c)>=0){
- continue;
- }
- else if ('\"'==c) {
- state = STATE_DOUBLEQUOTE_ATTRIBUTEVALUE;
- }
- else if ('\''==c) {
- state = STATE_SINGLEQUOTE_ATTRIBUTEVALUE;
- }
- else {
- state = STATE_UNQUOTED_ATTRIBUTEVALUE;
- buf.append((char)c);
- }
- break;
-
- case STATE_UNQUOTED_ATTRIBUTEVALUE:
- if (-1==c || " \t\r\n".indexOf(c)>=0){
- state = STATE_INITIAL;
- newAttributes += " "+attributeName + "=\"" + buf.toString() + "\"";
- buf.setLength(0);
- }
- else {
- buf.append((char)c);
- }
- break;
-
- case STATE_SINGLEQUOTE_ATTRIBUTEVALUE:
- if ('\''==c) {
- state = STATE_INITIAL;
- newAttributes += " "+attributeName + "=\"" + buf.toString() + "\"";
- buf.setLength(0);
- }
- else {
- buf.append((char)c);
- }
- break;
-
- case STATE_DOUBLEQUOTE_ATTRIBUTEVALUE:
- if ('\"'==c) {
- state = STATE_INITIAL;
- newAttributes += " "+attributeName + "=\"" + buf.toString() + "\"";
- buf.setLength(0);
- }
- else {
- buf.append((char)c);
- }
- break;
- }
- }
-
-
- if (!isAtomTag) {
-
- // check whether this open tag is equal to the topmost
- // entry on the stack; if yes, emit a close tag first
-
- // corrects stuff like '<tr><td>...<td>...');
- if (!tagStack.isEmpty() && tagStack.peek().equals(tagName)) {
- printWarning("Inserting </"+tagName+">");
- output.append("</"+tagName+">");
- tagStack.pop();
- }
- else {
- processKnownChildTags(tagName, tagStack, output);
- }
-
- // otherwise, we assume there are no close tags required
- // before this open tag.
- tagStack.push(tagName);
-
- output.append("<"+tagName+newAttributes+">");
- }
- else {
- output.append("<"+tagName+newAttributes+"/>");
- }
- }
- }
-
- private boolean processKnownChildTags(String tagName, Stack tagStack, StringBuffer output) {
-
- TagInfo tagInfo = (TagInfo)tagInfoMap.get(tagName);
- if (null != tagInfo) {
-
- String parentTag = null;
- for (Enumeration en = tagStack.elements(); en.hasMoreElements(); ) {
- String tag = (String)en.nextElement();
- if (tagInfo.isLegalParentTag(tag)) {
- parentTag = tag;
- break;
- }
- }
- if (parentTag != null) {
- while (((String)tagStack.peek()) != parentTag) {
- String poppedTagName = (String)tagStack.pop();
- output.append("</"+poppedTagName+">");
- printWarning("Inserting </"+poppedTagName+">");
- }
- return true;
- }
- }
- return false;
- }
-
- private void flush() {
-
- // close all pending tags
- while (!tagStack.isEmpty()) {
- String tagName = (String)tagStack.pop();
- printWarning("Inserting </"+tagName+">");
- output.append("</"+tagName+">");
- }
- }
-
- /**
- * Takes HTML fragment and returns a well-formed XHTML
- * equivalent.
- *
- * In the returned String, all tags are properly closed and
- * nested.
- *
- * Currently, the returned String is not guaranteed to be
- * well-formed. In particular there are no checks on the tag
- * names, attribute names and entity names.
- */
- public String getWellformedHTML(String text) {
-
- final int STATE_INITIAL = 1;
- final int STATE_TAG_START = 2;
- final int STATE_TAG = 3;
- final int STATE_TAG_DOUBLEQUOTE = 4;
- final int STATE_TAG_SINGLEQUOTE = 5;
- final int STATE_AMP = 6;
-
- int state = STATE_INITIAL;
- output.setLength(0);
-
-
- StringBuffer buf = new StringBuffer();
- char[] textAsChars = text.toCharArray();
-
- outer_loop:
- for (int i=0, ilim=textAsChars.length+1; i<ilim; ++i) {
- int c;
-
- if (i<textAsChars.length) {
- c = textAsChars[i];
- }
- else {
- c = -1;
- }
-
- switch (state) {
-
- case STATE_INITIAL:
- if ('<'==c) {
- state = STATE_TAG_START;
- if (buf.length()>0) {
- haveText(buf.toString());
- buf.setLength(0);
- }
- }
- else if ('>'==c) {
- // assume this is a greater-than sign
- buf.append("&gt;");
- }
- else if ('&'==c) {
- state = STATE_AMP;
- }
- else if (-1==c) {
- if (buf.length()>0) {
- haveText(buf.toString());
- buf.setLength(0);
- }
- continue;
- }
- else {
- buf.append((char)c);
- }
- break;
-
- case STATE_AMP:
- if ('<'==c) {
- buf.append("&amp;");
- state = STATE_TAG_START;
- if (buf.length()>0) {
- haveText(buf.toString());
- buf.setLength(0);
- }
- }
- else if ('>'==c) {
- // assume this is a greater-than sign
- buf.append("&amp;");
- buf.append("&gt;");
- state = STATE_INITIAL;
- }
- else if ('&'==c) {
- buf.append("&amp;");
- buf.append("&amp;");
- state = STATE_INITIAL;
- }
- else if (-1==c) {
- buf.append("&amp;");
- haveText(buf.toString());
- buf.setLength(0);
- state = STATE_INITIAL;
- continue;
- }
- else {
- // peek forward and see whether this is a valid entity.
- if ('#'==c) {
- buf.append("&");
- buf.append((char)c);
- state = STATE_INITIAL;
- continue outer_loop;
- }
- else if (Character.isLetter((char)c)) {
- for (int i2=i+1; i2<ilim-1; i2++) {
- if (';' == textAsChars[i2]) {
- buf.append("&");
- buf.append((char)c);
- state = STATE_INITIAL;
- continue outer_loop;
- }
- else if (!Character.isLetter((char)c)
- && !Character.isDigit((char)c)
- && ".-_:".indexOf((char)c) < 0
- //&& !isCombiningChar(c) // FIXME
- //&& !isExtender(c) // FIXME
- ) {
- break;
- }
- }
- // not a valid entity declaration; assume &amp;
- }
- buf.append("&amp;");
- buf.append((char)c);
- state = STATE_INITIAL;
- }
-
- /*
- else if ('#'==c || Character.isLetter((char)c)) {
- buf.append("&");
- buf.append((char)c);
- state = STATE_INITIAL;
- }
- else {
- buf.append("&amp;");
- buf.append((char)c);
- state = STATE_INITIAL;
- }
- */
- break;
-
- case STATE_TAG_START:
- if (" \t\r\n".indexOf(c)>=0) {
- //continue;
-
- // new: assume this is a less-sign
- haveText("&lt;"+c);
- state = STATE_INITIAL;
- }
- else if ('/'==c) {
- buf.append((char)c);
- state = STATE_TAG;
- }
- else if ('<'==c) {
- // assume this is a less-sign
- haveText("&lt;&lt;");
- state = STATE_INITIAL;
- }
- else if ('>'==c) {
- // assume this is a less-sign
- haveText("&lt;&gt;");
- state = STATE_INITIAL;
- }
- //else if ('-'==c || '+'==c || '='==c || '\''==c || "0123456789".indexOf(c)>=0) {
- else if (!Character.isLetter((char)c)) {
- // assume this is a less-sign
- haveText("&lt;"+(char)c);
- state = STATE_INITIAL;
- }
- else {
- buf.append((char)c);
- state = STATE_TAG;
- }
- break;
-
- case STATE_TAG:
- if ('\"'==c) {
- buf.append((char)c);
- state = STATE_TAG_DOUBLEQUOTE;
- }
- else if ('\''==c) {
- buf.append((char)c);
- state = STATE_TAG_SINGLEQUOTE;
- }
- else if ('>'==c) {
- state = STATE_INITIAL;
- haveStartOrEndTag(buf.toString());
- buf.setLength(0);
- }
- else if ('<'==c) {
- // notify user, missing greater-than sign
- haveStartOrEndTag(buf.toString());
- buf.setLength(0);
- }
- else if (-1==c) {
- printWarning("Unclosed tag at end-of-comment: <"+buf);
- haveStartOrEndTag(buf.toString());
- buf.setLength(0);
- }
- else {
- buf.append((char)c);
- }
- break;
-
- case STATE_TAG_DOUBLEQUOTE:
- if ('\"'==c) {
- buf.append((char)c);
- state = STATE_TAG;
- }
- else if (-1==c) {
- printWarning("Unclosed attribute value at end-of-comment.");
- haveStartOrEndTag(buf.toString()+"\"");
- }
- else {
- buf.append((char)c);
- }
- break;
-
- case STATE_TAG_SINGLEQUOTE:
- if ('\''==c) {
- buf.append((char)c);
- state = STATE_TAG;
- }
- else if (-1==c) {
- printWarning("Unclosed attribute value at end-of-comment.");
- haveStartOrEndTag(buf.toString()+"'");
- }
- else {
- buf.append((char)c);
- }
- break;
- }
- }
-
- return output.toString();
- }
-
- private String getContext() {
- if (null != contextClass) {
- StringBuffer rc = new StringBuffer();
- rc.append(contextClass.qualifiedTypeName());
- if (null != contextMember) {
- rc.append("."+contextMember.toString());
- }
- return rc.toString();
- }
- else {
- return null;
- }
- }
-
- private void printWarning(String msg) {
- if (null != warningReporter && !noWarn) {
- String context = getContext();
- if (null != context) {
- warningReporter.printWarning("In "+getContext()+": "+msg);
- }
- else {
- warningReporter.printWarning("In overview page: "+msg);
- }
- }
- }
-
- public String terminateText() {
- output.setLength(0);
- flush();
- return output.toString();
- }
-}
-
+/* gnu.classpath.tools.doclets.xmldoclet.HtmlRepairer.java
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.classpath.tools.doclets.xmldoclet;
+
+import java.io.*;
+import java.util.*;
+import com.sun.javadoc.DocErrorReporter;
+import com.sun.javadoc.ClassDoc;
+import com.sun.javadoc.MemberDoc;
+
+/**
+ * Provides methods for tidying up HTML source.
+ *
+ * @author Julian Scheid
+ */
+public final class HtmlRepairer {
+
+ private static class TagInfo {
+
+ private Set parentTags = new HashSet();
+
+ public TagInfo(String parentTag) {
+ this.parentTags.add(parentTag);
+ }
+
+ public TagInfo(String[] parentTagArr) {
+ for (int i=0; i<parentTagArr.length; ++i) {
+ this.parentTags.add(parentTagArr[i]);
+ }
+ }
+
+ public boolean isLegalParentTag(String tag) {
+ return this.parentTags.contains(tag);
+ }
+ }
+
+ private DocErrorReporter warningReporter;
+ private boolean noWarn;
+ private boolean noEmailWarn;
+ private ClassDoc contextClass;
+ private MemberDoc contextMember;
+ private StringBuffer output = new StringBuffer();
+ private Stack tagStack = new Stack();
+ private boolean isLeadingTag = true;
+ private boolean throwAwayLeadingPara = false;
+
+ private static Map tagInfoMap;
+
+ private static Set noTextParentTags;
+
+ static {
+ tagInfoMap = new HashMap();
+ tagInfoMap.put("li", new TagInfo(new String[] { "ul", "ol", "nl", "menu", "dir" }));
+ tagInfoMap.put("td", new TagInfo(new String[] { "tr" }));
+ tagInfoMap.put("th", new TagInfo(new String[] { "tr" }));
+ tagInfoMap.put("tr", new TagInfo(new String[] { "table" }));
+ tagInfoMap.put("dt", new TagInfo(new String[] { "dl" }));
+ tagInfoMap.put("dd", new TagInfo(new String[] { "dl" }));
+ tagInfoMap.put("param", new TagInfo(new String[] { "applet" }));
+
+ String[] noTextParentTagArr = {
+ "area", "base", "body", "br", "dd", "dt", "head", "hr", "html",
+ "img", "input", "link", "map", "meta", "ol", "optgroup", "param",
+ "select", "table", "tbody", "tfoot", "thead", "tr", "ul",
+ };
+
+ noTextParentTags = new HashSet();
+ for (int i=0; i<noTextParentTagArr.length; ++i) {
+ noTextParentTags.add(noTextParentTagArr[i]);
+ }
+ }
+
+ public HtmlRepairer(DocErrorReporter warningReporter,
+ boolean noWarn, boolean noEmailWarn,
+ ClassDoc contextClass, MemberDoc contextMember,
+ boolean throwAwayLeadingPara) {
+ this.warningReporter = warningReporter;
+ this.noWarn = noWarn;
+ this.noEmailWarn = noEmailWarn;
+ this.contextClass = contextClass;
+ this.contextMember = contextMember;
+ this.throwAwayLeadingPara = throwAwayLeadingPara;
+ }
+
+ private static String replaceStr(String haystack, String needle, String replacement) {
+ int ndx=haystack.indexOf(needle);
+ if (ndx<0)
+ return haystack;
+ else
+ return haystack.substring(0, ndx)+replacement
+ + replaceStr(haystack.substring(ndx+needle.length()), needle, replacement);
+ }
+
+ private void haveText(String text) {
+
+ if (isLeadingTag && throwAwayLeadingPara) {
+ if (0 != text.trim().length()) {
+ isLeadingTag = false;
+ }
+ }
+
+ if (tagStack.isEmpty() || !noTextParentTags.contains(tagStack.peek())) {
+
+ text = replaceStr(text, "&lt1", "&lt;1");
+ text = replaceStr(text, "&&", "&amp;&amp;");
+ text = replaceStr(text, "& ", "&amp; ");
+ text = replaceStr(text, "&\t", "&amp;\t");
+ text = replaceStr(text, "&\r", "&amp;\r");
+ text = replaceStr(text, "&\n", "&amp;\n");
+ for (char c='0'; c<='9'; ++c)
+ text = replaceStr(text, "&"+c, "&amp;"+c);
+ text = replaceStr(text, "\u00a7", "&sect;");
+ output.append(text);
+ }
+ else {
+ printWarning("Discarded text in <" + tagStack.peek() + "> element");
+ }
+ }
+
+ private void haveStartOrEndTag(String tag) {
+
+ boolean _isLeadingTag = isLeadingTag;
+ isLeadingTag = false;
+
+ tag = tag.trim();
+
+ boolean isEndTag = tag.startsWith("/");
+ boolean isAtomTag = tag.endsWith("/");
+
+ if (isEndTag && isAtomTag) {
+ // got something like '</a/>' which is invalid.
+ // suppose a close tag was intended.
+ tag = tag.substring(0, tag.length()-1);
+ }
+
+ if (tag.length() < 1) {
+ printWarning("Deleting broken tag");
+ return;
+ }
+
+ String tagName = tag.substring(isEndTag?1:0, isAtomTag?tag.length()-1:tag.length());
+ String tagAttributes = "";
+
+ for (int i=0; i<tagName.length(); ++i) {
+ if (" \t\r\n".indexOf(tagName.charAt(i))>=0) {
+ tagAttributes = tagName.substring(i).trim();
+ tagName = tagName.substring(0, i);
+ break;
+ }
+ }
+
+ if (!isEndTag && tagName.indexOf('@')>0) {
+ if (!noEmailWarn) {
+ printWarning("Tag looks like email address: <"+tagName+">");
+ }
+ output.append("&lt;"+tag+"&gt;");
+ return;
+ }
+
+ tagName = tagName.toLowerCase();
+
+ if (_isLeadingTag && "p".equals(tagName) && !isEndTag && throwAwayLeadingPara) {
+ return;
+ }
+
+ if ("p".equals(tagName) || "br".equals(tagName) || "hr".equals(tagName)) {
+ // throw away </p> and </br>
+ if (isEndTag) {
+ return;
+ }
+ // make sure every <p> is a <p/> and every <br> is a <br/>
+ else if (!isAtomTag) {
+ tag += "/";
+ isAtomTag = true;
+ }
+ }
+
+ if (isEndTag) {
+
+ // check whether this close tag is on the stack
+ // if yes, close all tags up to this tag
+ if (tagStack.contains(tagName)) {
+ String popped;
+ do {
+ popped = (String)tagStack.pop();
+ if (!popped.equals(tagName))
+ printWarning("Inserting '</"+popped+">");
+ output.append("</"+popped+">");
+ }
+ while (!popped.equals(tagName));
+ }
+ // if not, just throw it away
+ else {
+ printWarning("Deleting <"+tag+">");
+ }
+ }
+ else {
+
+ final int STATE_INITIAL = 1;
+ final int STATE_EXPECT_ATTRIBUTENAME = 2;
+ final int STATE_UNQUOTED_ATTRIBUTEVALUE = 3;
+ final int STATE_SINGLEQUOTE_ATTRIBUTEVALUE = 4;
+ final int STATE_DOUBLEQUOTE_ATTRIBUTEVALUE = 5;
+ final int STATE_EXPECT_ATTRIBUTEVALUE = 6;
+ final int STATE_EXPECT_EQUALSIGN = 7;
+
+ int state = STATE_INITIAL;
+
+ String newAttributes = "";
+ String attributeName = null;
+ StringBuffer buf = new StringBuffer();
+
+ char[] attrsAsChars = tagAttributes.toCharArray();
+ for (int i=0, ilim=attrsAsChars.length+1; i<ilim; ++i) {
+ int c;
+ if (i<attrsAsChars.length)
+ c = (int)attrsAsChars[i];
+ else
+ c = -1;
+
+ switch (state) {
+
+ case STATE_INITIAL:
+ if (" \t\r\n".indexOf(c)>=0){
+ continue;
+ }
+ else if (-1==c) {
+ continue;
+ }
+ else {
+ state = STATE_EXPECT_ATTRIBUTENAME;
+ buf.append((char)c);
+ }
+ break;
+
+ case STATE_EXPECT_ATTRIBUTENAME:
+ if ('='==c) {
+ attributeName = buf.toString();
+ buf.setLength(0);
+ state = STATE_EXPECT_ATTRIBUTEVALUE;
+ }
+ else if (-1==c) {
+ attributeName = buf.toString();
+ buf.setLength(0);
+ printWarning("In Tag '"+tag+"':\nAttribute name without a value, inserting value =\""+attributeName+"\"");
+ }
+ else if (" \t\r\n".indexOf(c)>=0) {
+ state = STATE_EXPECT_EQUALSIGN;
+ }
+ else {
+ buf.append((char)c);
+ }
+ break;
+
+ case STATE_EXPECT_EQUALSIGN:
+ if (" \t\r\n".indexOf(c)>=0){
+ continue;
+ }
+ else if ('='==c) {
+ state = STATE_EXPECT_ATTRIBUTEVALUE;
+ attributeName = buf.toString();
+ buf.setLength(0);
+ }
+ else {
+ attributeName = buf.toString();
+ buf.setLength(0);
+ printWarning("In Tag '"+tag+"':\nAttribute name without a value, inserting value =\""+attributeName+"\"");
+ newAttributes += " "+attributeName+"=\""+attributeName+"\"";
+ buf.append((char)c);
+ state = STATE_EXPECT_ATTRIBUTENAME;
+ }
+ break;
+
+ case STATE_EXPECT_ATTRIBUTEVALUE:
+ if (" \t\r\n".indexOf(c)>=0){
+ continue;
+ }
+ else if ('\"'==c) {
+ state = STATE_DOUBLEQUOTE_ATTRIBUTEVALUE;
+ }
+ else if ('\''==c) {
+ state = STATE_SINGLEQUOTE_ATTRIBUTEVALUE;
+ }
+ else {
+ state = STATE_UNQUOTED_ATTRIBUTEVALUE;
+ buf.append((char)c);
+ }
+ break;
+
+ case STATE_UNQUOTED_ATTRIBUTEVALUE:
+ if (-1==c || " \t\r\n".indexOf(c)>=0){
+ state = STATE_INITIAL;
+ newAttributes += " "+attributeName + "=\"" + buf.toString() + "\"";
+ buf.setLength(0);
+ }
+ else {
+ buf.append((char)c);
+ }
+ break;
+
+ case STATE_SINGLEQUOTE_ATTRIBUTEVALUE:
+ if ('\''==c) {
+ state = STATE_INITIAL;
+ newAttributes += " "+attributeName + "=\"" + buf.toString() + "\"";
+ buf.setLength(0);
+ }
+ else {
+ buf.append((char)c);
+ }
+ break;
+
+ case STATE_DOUBLEQUOTE_ATTRIBUTEVALUE:
+ if ('\"'==c) {
+ state = STATE_INITIAL;
+ newAttributes += " "+attributeName + "=\"" + buf.toString() + "\"";
+ buf.setLength(0);
+ }
+ else {
+ buf.append((char)c);
+ }
+ break;
+ }
+ }
+
+
+ if (!isAtomTag) {
+
+ // check whether this open tag is equal to the topmost
+ // entry on the stack; if yes, emit a close tag first
+
+ // corrects stuff like '<tr><td>...<td>...');
+ if (!tagStack.isEmpty() && tagStack.peek().equals(tagName)) {
+ printWarning("Inserting </"+tagName+">");
+ output.append("</"+tagName+">");
+ tagStack.pop();
+ }
+ else {
+ processKnownChildTags(tagName, tagStack, output);
+ }
+
+ // otherwise, we assume there are no close tags required
+ // before this open tag.
+ tagStack.push(tagName);
+
+ output.append("<"+tagName+newAttributes+">");
+ }
+ else {
+ output.append("<"+tagName+newAttributes+"/>");
+ }
+ }
+ }
+
+ private boolean processKnownChildTags(String tagName, Stack tagStack, StringBuffer output) {
+
+ TagInfo tagInfo = (TagInfo)tagInfoMap.get(tagName);
+ if (null != tagInfo) {
+
+ String parentTag = null;
+ for (Enumeration en = tagStack.elements(); en.hasMoreElements(); ) {
+ String tag = (String)en.nextElement();
+ if (tagInfo.isLegalParentTag(tag)) {
+ parentTag = tag;
+ break;
+ }
+ }
+ if (parentTag != null) {
+ while (((String)tagStack.peek()) != parentTag) {
+ String poppedTagName = (String)tagStack.pop();
+ output.append("</"+poppedTagName+">");
+ printWarning("Inserting </"+poppedTagName+">");
+ }
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private void flush() {
+
+ // close all pending tags
+ while (!tagStack.isEmpty()) {
+ String tagName = (String)tagStack.pop();
+ printWarning("Inserting </"+tagName+">");
+ output.append("</"+tagName+">");
+ }
+ }
+
+ /**
+ * Takes HTML fragment and returns a well-formed XHTML
+ * equivalent.
+ *
+ * In the returned String, all tags are properly closed and
+ * nested.
+ *
+ * Currently, the returned String is not guaranteed to be
+ * well-formed. In particular there are no checks on the tag
+ * names, attribute names and entity names.
+ */
+ public String getWellformedHTML(String text) {
+
+ final int STATE_INITIAL = 1;
+ final int STATE_TAG_START = 2;
+ final int STATE_TAG = 3;
+ final int STATE_TAG_DOUBLEQUOTE = 4;
+ final int STATE_TAG_SINGLEQUOTE = 5;
+ final int STATE_AMP = 6;
+
+ int state = STATE_INITIAL;
+ output.setLength(0);
+
+
+ StringBuffer buf = new StringBuffer();
+ char[] textAsChars = text.toCharArray();
+
+ outer_loop:
+ for (int i=0, ilim=textAsChars.length+1; i<ilim; ++i) {
+ int c;
+
+ if (i<textAsChars.length) {
+ c = textAsChars[i];
+ }
+ else {
+ c = -1;
+ }
+
+ switch (state) {
+
+ case STATE_INITIAL:
+ if ('<'==c) {
+ state = STATE_TAG_START;
+ if (buf.length()>0) {
+ haveText(buf.toString());
+ buf.setLength(0);
+ }
+ }
+ else if ('>'==c) {
+ // assume this is a greater-than sign
+ buf.append("&gt;");
+ }
+ else if ('&'==c) {
+ state = STATE_AMP;
+ }
+ else if (-1==c) {
+ if (buf.length()>0) {
+ haveText(buf.toString());
+ buf.setLength(0);
+ }
+ continue;
+ }
+ else {
+ buf.append((char)c);
+ }
+ break;
+
+ case STATE_AMP:
+ if ('<'==c) {
+ buf.append("&amp;");
+ state = STATE_TAG_START;
+ if (buf.length()>0) {
+ haveText(buf.toString());
+ buf.setLength(0);
+ }
+ }
+ else if ('>'==c) {
+ // assume this is a greater-than sign
+ buf.append("&amp;");
+ buf.append("&gt;");
+ state = STATE_INITIAL;
+ }
+ else if ('&'==c) {
+ buf.append("&amp;");
+ buf.append("&amp;");
+ state = STATE_INITIAL;
+ }
+ else if (-1==c) {
+ buf.append("&amp;");
+ haveText(buf.toString());
+ buf.setLength(0);
+ state = STATE_INITIAL;
+ continue;
+ }
+ else {
+ // peek forward and see whether this is a valid entity.
+ if ('#'==c) {
+ buf.append("&");
+ buf.append((char)c);
+ state = STATE_INITIAL;
+ continue outer_loop;
+ }
+ else if (Character.isLetter((char)c)) {
+ for (int i2=i+1; i2<ilim-1; i2++) {
+ if (';' == textAsChars[i2]) {
+ buf.append("&");
+ buf.append((char)c);
+ state = STATE_INITIAL;
+ continue outer_loop;
+ }
+ else if (!Character.isLetter((char)c)
+ && !Character.isDigit((char)c)
+ && ".-_:".indexOf((char)c) < 0
+ //&& !isCombiningChar(c) // FIXME
+ //&& !isExtender(c) // FIXME
+ ) {
+ break;
+ }
+ }
+ // not a valid entity declaration; assume &amp;
+ }
+ buf.append("&amp;");
+ buf.append((char)c);
+ state = STATE_INITIAL;
+ }
+
+ /*
+ else if ('#'==c || Character.isLetter((char)c)) {
+ buf.append("&");
+ buf.append((char)c);
+ state = STATE_INITIAL;
+ }
+ else {
+ buf.append("&amp;");
+ buf.append((char)c);
+ state = STATE_INITIAL;
+ }
+ */
+ break;
+
+ case STATE_TAG_START:
+ if (" \t\r\n".indexOf(c)>=0) {
+ //continue;
+
+ // new: assume this is a less-sign
+ haveText("&lt;"+c);
+ state = STATE_INITIAL;
+ }
+ else if ('/'==c) {
+ buf.append((char)c);
+ state = STATE_TAG;
+ }
+ else if ('<'==c) {
+ // assume this is a less-sign
+ haveText("&lt;&lt;");
+ state = STATE_INITIAL;
+ }
+ else if ('>'==c) {
+ // assume this is a less-sign
+ haveText("&lt;&gt;");
+ state = STATE_INITIAL;
+ }
+ //else if ('-'==c || '+'==c || '='==c || '\''==c || "0123456789".indexOf(c)>=0) {
+ else if (!Character.isLetter((char)c)) {
+ // assume this is a less-sign
+ haveText("&lt;"+(char)c);
+ state = STATE_INITIAL;
+ }
+ else {
+ buf.append((char)c);
+ state = STATE_TAG;
+ }
+ break;
+
+ case STATE_TAG:
+ if ('\"'==c) {
+ buf.append((char)c);
+ state = STATE_TAG_DOUBLEQUOTE;
+ }
+ else if ('\''==c) {
+ buf.append((char)c);
+ state = STATE_TAG_SINGLEQUOTE;
+ }
+ else if ('>'==c) {
+ state = STATE_INITIAL;
+ haveStartOrEndTag(buf.toString());
+ buf.setLength(0);
+ }
+ else if ('<'==c) {
+ // notify user, missing greater-than sign
+ haveStartOrEndTag(buf.toString());
+ buf.setLength(0);
+ }
+ else if (-1==c) {
+ printWarning("Unclosed tag at end-of-comment: <"+buf);
+ haveStartOrEndTag(buf.toString());
+ buf.setLength(0);
+ }
+ else {
+ buf.append((char)c);
+ }
+ break;
+
+ case STATE_TAG_DOUBLEQUOTE:
+ if ('\"'==c) {
+ buf.append((char)c);
+ state = STATE_TAG;
+ }
+ else if (-1==c) {
+ printWarning("Unclosed attribute value at end-of-comment.");
+ haveStartOrEndTag(buf.toString()+"\"");
+ }
+ else {
+ buf.append((char)c);
+ }
+ break;
+
+ case STATE_TAG_SINGLEQUOTE:
+ if ('\''==c) {
+ buf.append((char)c);
+ state = STATE_TAG;
+ }
+ else if (-1==c) {
+ printWarning("Unclosed attribute value at end-of-comment.");
+ haveStartOrEndTag(buf.toString()+"'");
+ }
+ else {
+ buf.append((char)c);
+ }
+ break;
+ }
+ }
+
+ return output.toString();
+ }
+
+ private String getContext() {
+ if (null != contextClass) {
+ StringBuffer rc = new StringBuffer();
+ rc.append(contextClass.qualifiedTypeName());
+ if (null != contextMember) {
+ rc.append("."+contextMember.toString());
+ }
+ return rc.toString();
+ }
+ else {
+ return null;
+ }
+ }
+
+ private void printWarning(String msg) {
+ if (null != warningReporter && !noWarn) {
+ String context = getContext();
+ if (null != context) {
+ warningReporter.printWarning("In "+getContext()+": "+msg);
+ }
+ else {
+ warningReporter.printWarning("In overview page: "+msg);
+ }
+ }
+ }
+
+ public String terminateText() {
+ output.setLength(0);
+ flush();
+ return output.toString();
+ }
+}
+
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/TargetContext.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/TargetContext.java
index 72dd9f6a6bc..6fdb8cb4875 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/TargetContext.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/TargetContext.java
@@ -1,86 +1,103 @@
-/* gnu.classpath.tools.doclets.xmldoclet.TargetContext
- Copyright (C) 2001 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
-
-package gnu.classpath.tools.doclets.xmldoclet;
-
-import java.io.File;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-
-import java.net.URL;
-
-import java.util.List;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.HashMap;
-
-import gnu.classpath.tools.doclets.xmldoclet.doctranslet.DocTranslet;
-
-/**
- * Stores any XSL transformation and postprocessing-specific
- * information given by the user on the doclet command line.
- *
- * @author Julian Scheid
- */
-public class TargetContext {
-
- /**
- * The DocTranslet to use for processing doclet output.
- */
- private DocTranslet docTranslet;
-
- /**
- * Directory to write final output to.
- */
- private File targetDirectory;
-
- /**
- * Directory where XSLT output will be written to. If an XSLT
- * sheet was specified, but no postprocessing driver was given,
- * this is the target directory specified by the user. Otherwise,
- * this is a temporary directory.
- */
- private File xsltTargetDirectory;
-
-
- public TargetContext(DocTranslet docTranslet, File targetDirectory) {
- this.docTranslet = docTranslet;
- this.targetDirectory = targetDirectory;
- }
-
- public File getTargetDirectory() {
- return targetDirectory;
- }
-
- public void setTargetDirectory(File targetDirectory) {
- this.targetDirectory = targetDirectory;
- }
-
- public DocTranslet getDocTranslet() {
- return docTranslet;
- }
-
- public void setDocTranslet(DocTranslet docTranslet) {
- this.docTranslet = docTranslet;
- }
-}
+/* gnu.classpath.tools.doclets.xmldoclet.TargetContext
+ Copyright (C) 2001 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.classpath.tools.doclets.xmldoclet;
+
+import java.io.File;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+import java.net.URL;
+
+import java.util.List;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.HashMap;
+
+import gnu.classpath.tools.doclets.xmldoclet.doctranslet.DocTranslet;
+
+/**
+ * Stores any XSL transformation and postprocessing-specific
+ * information given by the user on the doclet command line.
+ *
+ * @author Julian Scheid
+ */
+public class TargetContext {
+
+ /**
+ * The DocTranslet to use for processing doclet output.
+ */
+ private DocTranslet docTranslet;
+
+ /**
+ * Directory to write final output to.
+ */
+ private File targetDirectory;
+
+ /**
+ * Directory where XSLT output will be written to. If an XSLT
+ * sheet was specified, but no postprocessing driver was given,
+ * this is the target directory specified by the user. Otherwise,
+ * this is a temporary directory.
+ */
+ private File xsltTargetDirectory;
+
+
+ public TargetContext(DocTranslet docTranslet, File targetDirectory) {
+ this.docTranslet = docTranslet;
+ this.targetDirectory = targetDirectory;
+ }
+
+ public File getTargetDirectory() {
+ return targetDirectory;
+ }
+
+ public void setTargetDirectory(File targetDirectory) {
+ this.targetDirectory = targetDirectory;
+ }
+
+ public DocTranslet getDocTranslet() {
+ return docTranslet;
+ }
+
+ public void setDocTranslet(DocTranslet docTranslet) {
+ this.docTranslet = docTranslet;
+ }
+}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.java
index 573ca368c6a..3a8cabceb23 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets.xmldoclet.doctranslet;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.java
index b25d77ef38f..1992d166249 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets.xmldoclet.doctranslet;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.java
index e672c628e51..bfb3f7697bd 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets.xmldoclet.doctranslet;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.java
index 0c6813082ea..8bf65835898 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets.xmldoclet.doctranslet;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.java
index 50a9681e1b8..f6eb679f84b 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.doclets.xmldoclet.doctranslet;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.java b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.java
index 92a1fba27be..b4e394cec54 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.java
@@ -1,49 +1,66 @@
-/* gnu.classpath.tools.doclets.xmldoclet.doctranslet.OutputFileInfo
- Copyright (C) 2003 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
-
-package gnu.classpath.tools.doclets.xmldoclet.doctranslet;
-
-/**
- * Holds information about a file to be generated by the DocTranslet.
- */
-public class OutputFileInfo {
-
- private String name;
- private String source;
- private String sheet;
- private String comment;
- private String info;
-
- public OutputFileInfo(String name, String source, String sheet, String comment, String info) {
- this.name = name;
- this.source = source;
- this.sheet = sheet;
- this.comment = comment;
- this.info = info;
- }
-
- public String getName() { return name; }
- public String getSource() { return source; }
- public String getSheet() { return sheet; }
- public String getComment() { return comment; }
- public String getInfo() { return info; }
-
- public String toString() { return "OutputFileInfo{name="+name+",source="+source+",sheet="+sheet+",comment="+comment+",info="+info+"}"; }
-}
+/* gnu.classpath.tools.doclets.xmldoclet.doctranslet.OutputFileInfo
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.classpath.tools.doclets.xmldoclet.doctranslet;
+
+/**
+ * Holds information about a file to be generated by the DocTranslet.
+ */
+public class OutputFileInfo {
+
+ private String name;
+ private String source;
+ private String sheet;
+ private String comment;
+ private String info;
+
+ public OutputFileInfo(String name, String source, String sheet, String comment, String info) {
+ this.name = name;
+ this.source = source;
+ this.sheet = sheet;
+ this.comment = comment;
+ this.info = info;
+ }
+
+ public String getName() { return name; }
+ public String getSource() { return source; }
+ public String getSheet() { return sheet; }
+ public String getComment() { return comment; }
+ public String getInfo() { return info; }
+
+ public String toString() { return "OutputFileInfo{name="+name+",source="+source+",sheet="+sheet+",comment="+comment+",info="+info+"}"; }
+}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/AbstractTagImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/AbstractTagImpl.java
index 4a638e25426..2ec5af477bc 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/AbstractTagImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/AbstractTagImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ArrayCharacterIterator.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ArrayCharacterIterator.java
index 8c23e989acd..4bfac862f53 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ArrayCharacterIterator.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ArrayCharacterIterator.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java
index fee68006f40..b1012247164 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java
index 79abf3dc6ee..6dfe821bc50 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java
index 2920e89f235..b3fd83c7339 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java
@@ -16,7 +16,24 @@
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
+ 02111-1307 USA.
+
+ Linking this library statically or dynamically with other modules is
+ making a combined work based on this library. Thus, the terms and
+ conditions of the GNU General Public License cover the whole
+ combination.
+
+ As a special exception, the copyright holders of this library give you
+ permission to link this library with independent modules to produce an
+ executable, regardless of the license terms of these independent
+ modules, and to copy and distribute the resulting executable under
+ terms of your choice, provided that you also meet, for each linked
+ independent module, the terms and conditions of the license of that
+ module. An independent module is a module which is not derived from
+ or based on this library. If you modify this library, you may extend
+ this exception to your version of the library, but you are not
+ obligated to do so. If you do not wish to do so, delete this
+ exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ConstructorDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ConstructorDocImpl.java
index f114485c19b..06785ae0f17 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ConstructorDocImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ConstructorDocImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Debug.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Debug.java
index 06f39a4fa1b..3dddf43d26c 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Debug.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Debug.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/DirectoryTree.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/DirectoryTree.java
index 7d8e4bc5c54..da365d98329 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/DirectoryTree.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/DirectoryTree.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/DocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/DocImpl.java
index 163051380ff..86680799e37 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/DocImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/DocImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ErrorReporter.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ErrorReporter.java
index a72c53e43f2..129689bc9ae 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ErrorReporter.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ErrorReporter.java
@@ -1,104 +1,121 @@
-/* gnu.classpath.tools.gjdoc.ErrorReporter
- Copyright (C) 2001 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
-
-package gnu.classpath.tools.gjdoc;
-
-import com.sun.javadoc.*;
-import java.io.*;
-import java.util.*;
-import java.lang.reflect.*;
-
-/**
- * Simple implementation of a <code>DocErrorReporter</code>: writes
- * to <code>System.err</code>.
- */
-public class ErrorReporter implements DocErrorReporter {
-
- private PrintStream out;
-
- /**
- * Keeps track of the number of errors occured
- * during generation.
- */
- private int errorCount=0;
-
- /**
- * Keeps track of the number of warnings occured
- * during generation.
- */
- private int warningCount=0;
-
- /*
- * When <code>true</code>, no notices will be emitted.
- */
- private boolean quiet = false;
-
- /*
- * When <code>true</code>, no warnings will be emitted.
- */
- private boolean noWarn = false;
-
- public ErrorReporter()
- {
- this.out = System.err;
- }
-
- // Print error message, increment error count.
- public void printError(java.lang.String msg) {
- out.println("ERROR: "+msg);
- ++errorCount;
- }
-
- // Print error message, increment error count.
- public void printFatal(java.lang.String msg) {
- out.println("FATAL: "+msg);
- System.exit(10);
- }
-
- // Print a message.
- public void printNotice(java.lang.String msg) {
- if (!quiet) {
- out.println(msg);
- }
- }
-
- // Print warning message, increment warning count.
- public void printWarning(java.lang.String msg) {
- if (!noWarn) {
- out.println("WARNING: "+msg);
- ++warningCount;;
- }
- }
-
- public int getErrorCount() {
- return errorCount;
- }
-
- public int getWarningCount() {
- return warningCount;
- }
-
- /**
- * Specify whether notices should be printed.
- */
- public void setQuiet(boolean quiet) {
- this.quiet = quiet;
- }
-}
+/* gnu.classpath.tools.gjdoc.ErrorReporter
+ Copyright (C) 2001 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.classpath.tools.gjdoc;
+
+import com.sun.javadoc.*;
+import java.io.*;
+import java.util.*;
+import java.lang.reflect.*;
+
+/**
+ * Simple implementation of a <code>DocErrorReporter</code>: writes
+ * to <code>System.err</code>.
+ */
+public class ErrorReporter implements DocErrorReporter {
+
+ private PrintStream out;
+
+ /**
+ * Keeps track of the number of errors occured
+ * during generation.
+ */
+ private int errorCount=0;
+
+ /**
+ * Keeps track of the number of warnings occured
+ * during generation.
+ */
+ private int warningCount=0;
+
+ /*
+ * When <code>true</code>, no notices will be emitted.
+ */
+ private boolean quiet = false;
+
+ /*
+ * When <code>true</code>, no warnings will be emitted.
+ */
+ private boolean noWarn = false;
+
+ public ErrorReporter()
+ {
+ this.out = System.err;
+ }
+
+ // Print error message, increment error count.
+ public void printError(java.lang.String msg) {
+ out.println("ERROR: "+msg);
+ ++errorCount;
+ }
+
+ // Print error message, increment error count.
+ public void printFatal(java.lang.String msg) {
+ out.println("FATAL: "+msg);
+ System.exit(10);
+ }
+
+ // Print a message.
+ public void printNotice(java.lang.String msg) {
+ if (!quiet) {
+ out.println(msg);
+ }
+ }
+
+ // Print warning message, increment warning count.
+ public void printWarning(java.lang.String msg) {
+ if (!noWarn) {
+ out.println("WARNING: "+msg);
+ ++warningCount;;
+ }
+ }
+
+ public int getErrorCount() {
+ return errorCount;
+ }
+
+ public int getWarningCount() {
+ return warningCount;
+ }
+
+ /**
+ * Specify whether notices should be printed.
+ */
+ public void setQuiet(boolean quiet) {
+ this.quiet = quiet;
+ }
+}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java
index 7dcdd25d215..f177c1531b6 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java
index 8d5b66f819b..341797611ce 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/GjdocPackageDoc.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/GjdocPackageDoc.java
index 3a3e38f20f3..e0c74cea1a8 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/GjdocPackageDoc.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/GjdocPackageDoc.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/GjdocRootDoc.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/GjdocRootDoc.java
index 65020d7b7d1..a49be2f9ec3 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/GjdocRootDoc.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/GjdocRootDoc.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/InheritDocTagImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/InheritDocTagImpl.java
index 773c5fd3b44..95b706acd00 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/InheritDocTagImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/InheritDocTagImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/JavadocWrapper.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/JavadocWrapper.java
index 3728630bcae..f5a507bdb08 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/JavadocWrapper.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/JavadocWrapper.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/LinkTagImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/LinkTagImpl.java
index 167c5154c7c..ac92dba86a5 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/LinkTagImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/LinkTagImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java
index cbbc8f4f7dd..0c30a48e8b7 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java
index aae2462bbf3..07817bcb906 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/MethodDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/MethodDocImpl.java
index 8654a224991..34f3b28545b 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/MethodDocImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/MethodDocImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java
index d0b28d62742..2f37e445cf8 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ParamTagImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ParamTagImpl.java
index 2d9567e66c4..499d43e31e2 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ParamTagImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ParamTagImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ParameterImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ParameterImpl.java
index 9132270bc31..133077d06f4 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ParameterImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ParameterImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ParseException.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ParseException.java
index 4984ead855c..c0ea48ea7bd 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ParseException.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ParseException.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Parser.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Parser.java
index 5569d4b014c..030d4ae315d 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Parser.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Parser.java
@@ -16,7 +16,24 @@
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
+ 02111-1307 USA.
+
+ Linking this library statically or dynamically with other modules is
+ making a combined work based on this library. Thus, the terms and
+ conditions of the GNU General Public License cover the whole
+ combination.
+
+ As a special exception, the copyright holders of this library give you
+ permission to link this library with independent modules to produce an
+ executable, regardless of the license terms of these independent
+ modules, and to copy and distribute the resulting executable under
+ terms of your choice, provided that you also meet, for each linked
+ independent module, the terms and conditions of the license of that
+ module. An independent module is a module which is not derived from
+ or based on this library. If you modify this library, you may extend
+ this exception to your version of the library, but you are not
+ obligated to do so. If you do not wish to do so, delete this
+ exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ProgramElementDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ProgramElementDocImpl.java
index 19353cc015c..a5588ff46cc 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ProgramElementDocImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ProgramElementDocImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/RootDocImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/RootDocImpl.java
index b60a0b6e2fb..21640d2feef 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/RootDocImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/RootDocImpl.java
@@ -16,7 +16,24 @@
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
+ 02111-1307 USA.
+
+ Linking this library statically or dynamically with other modules is
+ making a combined work based on this library. Thus, the terms and
+ conditions of the GNU General Public License cover the whole
+ combination.
+
+ As a special exception, the copyright holders of this library give you
+ permission to link this library with independent modules to produce an
+ executable, regardless of the license terms of these independent
+ modules, and to copy and distribute the resulting executable under
+ terms of your choice, provided that you also meet, for each linked
+ independent module, the terms and conditions of the license of that
+ module. An independent module is a module which is not derived from
+ or based on this library. If you modify this library, you may extend
+ this exception to your version of the library, but you are not
+ obligated to do so. If you do not wish to do so, delete this
+ exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/SeeTagImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/SeeTagImpl.java
index f126c21aec3..971cdef5285 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/SeeTagImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/SeeTagImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.java
index 14516109966..a4408fc76ae 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/SourcePositionImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/SourcePositionImpl.java
index 605d1321e8d..93f487912f1 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/SourcePositionImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/SourcePositionImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TagContainer.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TagContainer.java
index 597d73b9160..d3e243ede98 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TagContainer.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TagContainer.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TagImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TagImpl.java
index 320ccfd20a8..d51ce239adf 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TagImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TagImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TemporaryStore.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TemporaryStore.java
index eb3417d42c2..f062b2a8dcc 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TemporaryStore.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TemporaryStore.java
@@ -1,115 +1,132 @@
-/* gnu.classpath.tools.gjdoc.TemporaryStore
- Copyright (C) 2001 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
-
-package gnu.classpath.tools.gjdoc;
-
-/**
- * Useful for passing big objects that are no longer needed by the
- * calling method, reducing memory usage. <p/>
- *
- * Consider the following problem:
- * <pre>
- * public class A {
- * public static void foo() {
- * long[] hugeArray = new long[1000000]; // takes around 8 MB
- * // ... fill hugeArray with some information ...
- * bar(hugeArray);
- * // ... hugeArray is no more required at this point
- * }
- * public static void bar(long[] arr) {
- * // ... process contents of arr ...
- * arr = null;
- * System.gc(); // NOTE: will not collect arr!
- * // ... do something memory-intensive where arr is not needed
- * }
- * }
- * </pre>
- *
- * In method <code>bar()</code>, the array cannot be garbage
- * collected because the local variable <code>hugeArray</code> in
- * method <code>foo()</code> still holds a reference to the array.
- * <p/>
- *
- * When calling <code>bar(new long[1000000]);</code> in
- * <code>arr</code> the array <i>can</i> be collected in
- * <code>bar()</code>, but that way it can't be initialized in
- * <code>foo()</code>. A local variable is needed for
- * initialization, but the variable can't be cleared before it is
- * passed to <code>bar()</code>! <p/>
- *
- * <code>TemporaryStore</code> is the solution for this
- * dilemma. The modified method <code>foo()</code> which uses a
- * <code>TemporaryStore</code> object would look like this:
- *
- * <pre>
- * public static void foo() {
- * long[] hugeArray = new long[1000000]; // takes around 7 MB
- * // ... fill hugeArray with some very important information ...
- * TemporaryStore tstore = new TemporaryStore(hugeArray);
- * hugeArray = null;
- * bar((long[])tstore.getAndClear());
- * }
- * </pre>
- *
- * When control flow is transferred to <code>bar()</code>,
- * <code>foo()</code> will hold no more references to the array
- * and so it can be garbage collected in <code>bar()</code>.
- *
- */
-public class TemporaryStore {
-
- private Object storedObject;
-
- /**
- * Temporarily store the given object for passing it to a
- * different method. <p/>
- *
- * The method constructing a new TemporaryStore object should
- * clear all other references to the stored object, so that
- * this TemporaryStore is the only object referencing it.
- *
- * @param storedObject the object to store temporarily
- *
- */
- public TemporaryStore(Object storedObject) {
- this.storedObject = storedObject;
- }
-
- /**
- * Return the stored object after clearing the reference to it.
- * <p/>
- *
- * When the user of this class followed the recommendations in
- * the documentation of @link{TemporaryStore(Object)}, the
- * returned reference will be the only reference to the stored
- * object after this method returns. If the returned reference
- * is passed in a method call, the called method will hold the
- * only reference to the stored object and can release it by
- * nulling the corresponding parameter.
- *
- * @return the object which was passed to the constructor.
- *
- */
- public Object getAndClear() {
- Object rc = this.storedObject;
- this.storedObject = null;
- return rc;
- }
-}
+/* gnu.classpath.tools.gjdoc.TemporaryStore
+ Copyright (C) 2001 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.classpath.tools.gjdoc;
+
+/**
+ * Useful for passing big objects that are no longer needed by the
+ * calling method, reducing memory usage. <p/>
+ *
+ * Consider the following problem:
+ * <pre>
+ * public class A {
+ * public static void foo() {
+ * long[] hugeArray = new long[1000000]; // takes around 8 MB
+ * // ... fill hugeArray with some information ...
+ * bar(hugeArray);
+ * // ... hugeArray is no more required at this point
+ * }
+ * public static void bar(long[] arr) {
+ * // ... process contents of arr ...
+ * arr = null;
+ * System.gc(); // NOTE: will not collect arr!
+ * // ... do something memory-intensive where arr is not needed
+ * }
+ * }
+ * </pre>
+ *
+ * In method <code>bar()</code>, the array cannot be garbage
+ * collected because the local variable <code>hugeArray</code> in
+ * method <code>foo()</code> still holds a reference to the array.
+ * <p/>
+ *
+ * When calling <code>bar(new long[1000000]);</code> in
+ * <code>arr</code> the array <i>can</i> be collected in
+ * <code>bar()</code>, but that way it can't be initialized in
+ * <code>foo()</code>. A local variable is needed for
+ * initialization, but the variable can't be cleared before it is
+ * passed to <code>bar()</code>! <p/>
+ *
+ * <code>TemporaryStore</code> is the solution for this
+ * dilemma. The modified method <code>foo()</code> which uses a
+ * <code>TemporaryStore</code> object would look like this:
+ *
+ * <pre>
+ * public static void foo() {
+ * long[] hugeArray = new long[1000000]; // takes around 7 MB
+ * // ... fill hugeArray with some very important information ...
+ * TemporaryStore tstore = new TemporaryStore(hugeArray);
+ * hugeArray = null;
+ * bar((long[])tstore.getAndClear());
+ * }
+ * </pre>
+ *
+ * When control flow is transferred to <code>bar()</code>,
+ * <code>foo()</code> will hold no more references to the array
+ * and so it can be garbage collected in <code>bar()</code>.
+ *
+ */
+public class TemporaryStore {
+
+ private Object storedObject;
+
+ /**
+ * Temporarily store the given object for passing it to a
+ * different method. <p/>
+ *
+ * The method constructing a new TemporaryStore object should
+ * clear all other references to the stored object, so that
+ * this TemporaryStore is the only object referencing it.
+ *
+ * @param storedObject the object to store temporarily
+ *
+ */
+ public TemporaryStore(Object storedObject) {
+ this.storedObject = storedObject;
+ }
+
+ /**
+ * Return the stored object after clearing the reference to it.
+ * <p/>
+ *
+ * When the user of this class followed the recommendations in
+ * the documentation of @link{TemporaryStore(Object)}, the
+ * returned reference will be the only reference to the stored
+ * object after this method returns. If the returned reference
+ * is passed in a method call, the called method will hold the
+ * only reference to the stored object and can release it by
+ * nulling the corresponding parameter.
+ *
+ * @return the object which was passed to the constructor.
+ *
+ */
+ public Object getAndClear() {
+ Object rc = this.storedObject;
+ this.storedObject = null;
+ return rc;
+ }
+}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TextTagImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TextTagImpl.java
index 6d7ee820c8a..f8f19630aad 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TextTagImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TextTagImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ThrowsTagImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ThrowsTagImpl.java
index df0091de08a..b48236af016 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ThrowsTagImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ThrowsTagImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Timer.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Timer.java
index d1d832ce529..bd866b3c1b8 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Timer.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/Timer.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TimerDoclet.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TimerDoclet.java
index 68d2c4d8b66..7d364a17210 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TimerDoclet.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TimerDoclet.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TypeImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TypeImpl.java
index a66a85e8911..a0b4cf0d2ca 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TypeImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TypeImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TypeVariableImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TypeVariableImpl.java
index 4524ab169bf..097b1ff869b 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TypeVariableImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/TypeVariableImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ValueTagImpl.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ValueTagImpl.java
index 8f0ba79e6ee..14381dff537 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ValueTagImpl.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/ValueTagImpl.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/WritableType.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/WritableType.java
index 6293602b881..00f599bb2c2 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/WritableType.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/WritableType.java
@@ -1,27 +1,44 @@
-/* gnu.classpath.tools.gjdoc.WritableType
- Copyright (C) 2001 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
-
-package gnu.classpath.tools.gjdoc;
-
-public interface WritableType extends Cloneable {
-
- public void setDimension(String dimension);
- public Object clone() throws CloneNotSupportedException;
-}
+/* gnu.classpath.tools.gjdoc.WritableType
+ Copyright (C) 2001 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.classpath.tools.gjdoc;
+
+public interface WritableType extends Cloneable {
+
+ public void setDimension(String dimension);
+ public Object clone() throws CloneNotSupportedException;
+}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/AdditionExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/AdditionExpression.java
index bf9e3ff1c5c..ed2cb24bac8 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/AdditionExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/AdditionExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/AndExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/AndExpression.java
index 9e9e13c99f2..6411cdac70c 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/AndExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/AndExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.java
index 4b0a993e5ef..90ae8920387 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.java
index 97cdf221eb2..519ab828730 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.java
index 27fe2cf1f22..7b3312e9192 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryExpression.java
index e44551d059e..28ba32f0123 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.java
index 00bbfccbcad..7314fa9bca7 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.java
index 91c4441ca3a..c7fbee838e2 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.java
index a5eac4d98e7..17129e25555 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BitShiftRightExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BitShiftRightExpression.java
index 503421ed4d1..27ed3b308c5 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BitShiftRightExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/BitShiftRightExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/CircularExpressionException.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/CircularExpressionException.java
index b745de41a27..008cee64a2b 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/CircularExpressionException.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/CircularExpressionException.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConditionalExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConditionalExpression.java
index e4f86f65747..c01dc6a407b 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConditionalExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConditionalExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantBoolean.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantBoolean.java
index 4ef75c642d7..4119dd9d10a 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantBoolean.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantBoolean.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantByte.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantByte.java
index bbe30b29568..ccdeed99547 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantByte.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantByte.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantChar.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantChar.java
index 56d32308336..a6dfef16935 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantChar.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantChar.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantDouble.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantDouble.java
index ad9709277a7..1b8e35a7fce 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantDouble.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantDouble.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantExpression.java
index 3078b4c585c..78f8590c10d 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantFloat.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantFloat.java
index cf378dba4f8..0735ff64139 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantFloat.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantFloat.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantInteger.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantInteger.java
index 56217cc02d4..667eb615a93 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantInteger.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantInteger.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantLong.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantLong.java
index bfc1a0ad39e..c6828f4ec18 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantLong.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantLong.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantNull.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantNull.java
index 23f9659076b..e5b1e2532c3 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantNull.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantNull.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantShort.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantShort.java
index acd020de2bb..ef9f76e8790 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantShort.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantShort.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantString.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantString.java
index 847e2951a1a..ba24cc39230 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantString.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ConstantString.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Context.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Context.java
index 99093f7cb0c..f22dffb366d 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Context.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Context.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/DivisionExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/DivisionExpression.java
index baaf65de642..caa9ae907ff 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/DivisionExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/DivisionExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/EqualExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/EqualExpression.java
index c31ff884f73..18639adda43 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/EqualExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/EqualExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java
index 94c54c25d30..e1d089f235e 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java
index a268b965e2a..0f51f90dbb7 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ExclusiveOrExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ExclusiveOrExpression.java
index 563cb1b0dc2..1d4b0fbb72d 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ExclusiveOrExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ExclusiveOrExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Expression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Expression.java
index 660806d599f..6a0f3dc20cd 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Expression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Expression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/GreaterThanExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/GreaterThanExpression.java
index 647ac77faea..6594b49678e 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/GreaterThanExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/GreaterThanExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/GreaterThanOrEqualExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/GreaterThanOrEqualExpression.java
index e183482aaf1..51f3cd22d59 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/GreaterThanOrEqualExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/GreaterThanOrEqualExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/IdentifierExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/IdentifierExpression.java
index d6cf3224b32..2d8df5ea734 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/IdentifierExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/IdentifierExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/IllegalExpressionException.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/IllegalExpressionException.java
index bb84a5547e7..315265e93d5 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/IllegalExpressionException.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/IllegalExpressionException.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/InclusiveOrExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/InclusiveOrExpression.java
index 350027ea276..7a3d69e5b6d 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/InclusiveOrExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/InclusiveOrExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LessThanExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LessThanExpression.java
index d57b862c9b3..dbddecb4143 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LessThanExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LessThanExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LessThanOrEqualExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LessThanOrEqualExpression.java
index eaf24994e61..9ba697c0be9 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LessThanOrEqualExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LessThanOrEqualExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LogicalAndExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LogicalAndExpression.java
index 44e50751f09..b78315ed2f4 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LogicalAndExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LogicalAndExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LogicalNotExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LogicalNotExpression.java
index c315166d0df..dc85eb65c47 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LogicalNotExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LogicalNotExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LogicalOrExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LogicalOrExpression.java
index 77c33b4fe6a..181bb68e276 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LogicalOrExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/LogicalOrExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ModuloExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ModuloExpression.java
index c8681177b7d..6375b163dfd 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ModuloExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ModuloExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/MultiplicationExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/MultiplicationExpression.java
index 520380c3408..6108a97bf39 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/MultiplicationExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/MultiplicationExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/NegateExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/NegateExpression.java
index e14a469c22e..6cdb0c9cce0 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/NegateExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/NegateExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/NotEqualExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/NotEqualExpression.java
index c3d8ab234dc..c7db2550d5b 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/NotEqualExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/NotEqualExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/NotExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/NotExpression.java
index 3351b8ef7c4..41bb0fc2be0 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/NotExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/NotExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ShiftLeftExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ShiftLeftExpression.java
index af51cf3dea2..132cd35f46c 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ShiftLeftExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ShiftLeftExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ShiftRightExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ShiftRightExpression.java
index 0aedf12f0de..bebd0ce5170 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ShiftRightExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/ShiftRightExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/SubtractionExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/SubtractionExpression.java
index 14e5edf039e..8f9def918d0 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/SubtractionExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/SubtractionExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Type.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Type.java
index 47f9ea68d60..55c8b996594 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Type.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/Type.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/TypeCastExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/TypeCastExpression.java
index 8c06ee27a9d..46f0cc5346c 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/TypeCastExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/TypeCastExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/UnaryExpression.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/UnaryExpression.java
index e5421c061bf..9a912b95591 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/UnaryExpression.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/UnaryExpression.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/UnknownIdentifierException.java b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/UnknownIdentifierException.java
index f84970717a6..9eedd66172f 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/UnknownIdentifierException.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/gjdoc/expr/UnknownIdentifierException.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.gjdoc.expr;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/java2xhtml/Java2xhtml.java b/libjava/classpath/tools/gnu/classpath/tools/java2xhtml/Java2xhtml.java
index a7da7c4aa15..70e238ec7a3 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/java2xhtml/Java2xhtml.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/java2xhtml/Java2xhtml.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
/** Java2xhtml.java Version 0.9
* Produces an XHTML file from Java source code with syntax highlighting,
diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/ClassWrapper.java b/libjava/classpath/tools/gnu/classpath/tools/javah/ClassWrapper.java
index 22278eba84c..4b4d250469c 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/javah/ClassWrapper.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/javah/ClassWrapper.java
@@ -58,21 +58,21 @@ public class ClassWrapper
ClassWrapper superClass;
- ArrayList interfaceClasses;
+ ArrayList<ClassWrapper> interfaceClasses;
// The virtual table for this class.
- ArrayList vtable;
+ ArrayList<MethodNode> vtable;
// A set of all the bridge method targets we've found.
- HashSet bridgeTargets;
+ HashSet<String> bridgeTargets;
// A set of all the method names in this class.
- HashSet methodNames = new HashSet();
+ HashSet<String> methodNames = new HashSet<String>();
// This maps a method name + descriptor, e.g. "method()V", to the
// name chosen for the method. This is used when computing the
// names of bridge method targets.
- HashMap methodNameMap = new HashMap();
+ HashMap<String,String> methodNameMap = new HashMap<String,String>();
public ClassWrapper(Main classpath)
{
@@ -81,7 +81,7 @@ public class ClassWrapper
public boolean hasNativeMethod()
{
- Iterator i = methods.iterator();
+ Iterator<?> i = methods.iterator();
while (i.hasNext())
{
MethodNode method = (MethodNode) i.next();
@@ -104,7 +104,7 @@ public class ClassWrapper
return false;
}
- private void linkSupers() throws IOException
+ void linkSupers() throws IOException
{
if (superName == null)
{
@@ -115,7 +115,7 @@ public class ClassWrapper
{
superClass = classpath.getClass(superName);
assert interfaceClasses == null;
- interfaceClasses = new ArrayList();
+ interfaceClasses = new ArrayList<ClassWrapper>();
for (int i = 0; i < interfaces.size(); ++i)
{
String ifname = (String) interfaces.get(i);
@@ -131,7 +131,7 @@ public class ClassWrapper
{
for (int i = vtable.size() - 1; i >= 0; --i)
{
- MethodNode base = (MethodNode) vtable.get(i);
+ MethodNode base = vtable.get(i);
if (MethodHelper.overrides(method, base))
return i;
}
@@ -140,7 +140,7 @@ public class ClassWrapper
private void addInterfaceMethods(ClassWrapper iface)
{
- Iterator i = iface.methods.iterator();
+ Iterator<?> i = iface.methods.iterator();
while (i.hasNext())
{
MethodNode im = (MethodNode) i.next();
@@ -159,7 +159,7 @@ public class ClassWrapper
{
if (base.interfaceClasses == null)
return;
- Iterator i = base.interfaceClasses.iterator();
+ Iterator<?> i = base.interfaceClasses.iterator();
while (i.hasNext())
{
ClassWrapper iface = (ClassWrapper) i.next();
@@ -169,7 +169,7 @@ public class ClassWrapper
private void addLocalMethods()
{
- Iterator i = methods.iterator();
+ Iterator<?> i = methods.iterator();
while (i.hasNext())
{
MethodNode meth = (MethodNode) i.next();
@@ -191,16 +191,16 @@ public class ClassWrapper
if (superClass != null)
{
superClass.makeVtable();
- vtable = new ArrayList(superClass.vtable);
- bridgeTargets = new HashSet(superClass.bridgeTargets);
- methodNameMap = new HashMap(superClass.methodNameMap);
+ vtable = new ArrayList<MethodNode>(superClass.vtable);
+ bridgeTargets = new HashSet<String>(superClass.bridgeTargets);
+ methodNameMap = new HashMap<String,String>(superClass.methodNameMap);
}
else
{
// Object.
- vtable = new ArrayList();
- bridgeTargets = new HashSet();
- methodNameMap = new HashMap();
+ vtable = new ArrayList<MethodNode>();
+ bridgeTargets = new HashSet<String>();
+ methodNameMap = new HashMap<String,String>();
}
addLocalMethods();
addInterfaces(this);
@@ -211,7 +211,7 @@ public class ClassWrapper
// methods by definition override a method from the superclass --
// and we have to consider the superclass' header as an
// unchangeable entity.
- Iterator i = methods.iterator();
+ Iterator<?> i = methods.iterator();
while (i.hasNext())
{
MethodNode m = (MethodNode) i.next();
@@ -234,7 +234,7 @@ public class ClassWrapper
private void printFields(CniPrintStream out)
{
- Iterator i = fields.iterator();
+ Iterator<?> i = fields.iterator();
ClassWrapper self = superClass;
while (i.hasNext())
{
@@ -251,7 +251,7 @@ public class ClassWrapper
// A given method is either static, overrides a super method, or
// is already in vtable order.
- Iterator i = methods.iterator();
+ Iterator<?> i = methods.iterator();
while (i.hasNext())
{
MethodNode m = (MethodNode) i.next();
@@ -266,15 +266,15 @@ public class ClassWrapper
}
}
- private void printTextList(PrintStream out, int what, ArrayList textList)
+ private void printTextList(PrintStream out, int what, ArrayList<Text> textList)
{
if (textList == null)
return;
- Iterator i = textList.iterator();
+ Iterator<Text> i = textList.iterator();
boolean first = true;
while (i.hasNext())
{
- Text item = (Text) i.next();
+ Text item = i.next();
if (item.type == what)
{
if (first)
@@ -296,7 +296,7 @@ public class ClassWrapper
}
// This prints the body of a class to a CxxPrintStream.
- private void printContents(CniPrintStream out, ArrayList textList)
+ private void printContents(CniPrintStream out, ArrayList<Text> textList)
throws IOException
{
printTextList(out, Text.PREPEND, textList);
@@ -338,7 +338,7 @@ public class ClassWrapper
{
linkSupers();
- ArrayList textList = classpath.getClassTextList(name);
+ ArrayList<Text> textList = classpath.getClassTextList(name);
out.println("// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-");
out.println();
diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/CniPrintStream.java b/libjava/classpath/tools/gnu/classpath/tools/javah/CniPrintStream.java
index 315fd8ae326..52e6e539da7 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/javah/CniPrintStream.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/javah/CniPrintStream.java
@@ -55,7 +55,7 @@ public class CniPrintStream
boolean sawArray;
// All the classes referenced by this header.
- HashSet allClasses = new HashSet();
+ HashSet<String> allClasses = new HashSet<String>();
String[] previousPackage = new String[0];
@@ -245,7 +245,7 @@ public class CniPrintStream
out.println();
}
- String[] classes = (String[]) allClasses.toArray(new String[0]);
+ String[] classes = allClasses.toArray(new String[0]);
Arrays.sort(classes);
boolean first = true;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/CniStubPrinter.java b/libjava/classpath/tools/gnu/classpath/tools/javah/CniStubPrinter.java
index bbdda9249a1..9b5dc2c3611 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/javah/CniStubPrinter.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/javah/CniStubPrinter.java
@@ -103,7 +103,7 @@ public class CniStubPrinter
out.println("#include <" + klass.name + ".h>");
out.println();
- Iterator i = klass.methods.iterator();
+ Iterator<?> i = klass.methods.iterator();
boolean first = true;
while (i.hasNext())
{
diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/GcjhMain.java b/libjava/classpath/tools/gnu/classpath/tools/javah/GcjhMain.java
index 15bcec2630b..0b69d311658 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/javah/GcjhMain.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/javah/GcjhMain.java
@@ -49,7 +49,7 @@ import java.util.ArrayList;
public class GcjhMain extends Main
{
- ArrayList commands = new ArrayList();
+ ArrayList<Text> commands = new ArrayList<Text>();
public GcjhMain()
{
diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/JniIncludePrinter.java b/libjava/classpath/tools/gnu/classpath/tools/javah/JniIncludePrinter.java
index ba44a571133..bbede8ea0c3 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/javah/JniIncludePrinter.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/javah/JniIncludePrinter.java
@@ -59,11 +59,13 @@ public class JniIncludePrinter
}
private void writeFields(ClassWrapper klass, JniPrintStream out)
+ throws IOException
{
+ klass.linkSupers();
boolean wroteAny = false;
for (; klass != null; klass = klass.superClass)
{
- Iterator i = klass.fields.iterator();
+ Iterator<?> i = klass.fields.iterator();
while (i.hasNext())
{
FieldNode field = (FieldNode) i.next();
@@ -138,7 +140,7 @@ public class JniIncludePrinter
out.println("#endif");
out.println();
- Iterator i = klass.methods.iterator();
+ Iterator<?> i = klass.methods.iterator();
while (i.hasNext())
{
MethodNode method = (MethodNode) i.next();
diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/JniPrintStream.java b/libjava/classpath/tools/gnu/classpath/tools/javah/JniPrintStream.java
index a0461f475fd..96f9e7d1aa7 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/javah/JniPrintStream.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/javah/JniPrintStream.java
@@ -54,7 +54,7 @@ public class JniPrintStream
Main classpath;
// This is used to determine whether a method has an overload.
- HashMap methodNameMap = new HashMap();
+ HashMap<String,Integer> methodNameMap = new HashMap<String,Integer>();
public JniPrintStream(Main classpath, OutputStream out, ClassWrapper klass)
{
@@ -65,7 +65,7 @@ public class JniPrintStream
private void computeOverloads(ClassWrapper klass)
{
- Iterator i = klass.methods.iterator();
+ Iterator<?> i = klass.methods.iterator();
while (i.hasNext())
{
MethodNode method = (MethodNode) i.next();
@@ -73,11 +73,11 @@ public class JniPrintStream
continue;
if (methodNameMap.containsKey(method.name))
{
- Integer val = (Integer) methodNameMap.get(method.name);
- methodNameMap.put(method.name, new Integer(val.intValue() + 1));
+ Integer val = methodNameMap.get(method.name);
+ methodNameMap.put(method.name, Integer.valueOf(val.intValue() + 1));
}
else
- methodNameMap.put(method.name, new Integer(1));
+ methodNameMap.put(method.name, Integer.valueOf(1));
}
}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/JniStubPrinter.java b/libjava/classpath/tools/gnu/classpath/tools/javah/JniStubPrinter.java
index d4b34fc2067..41b90b017db 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/javah/JniStubPrinter.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/javah/JniStubPrinter.java
@@ -87,7 +87,7 @@ public class JniStubPrinter
out.print(klass.name.replace('/', '_'));
out.println(".h>");
- Iterator i = klass.methods.iterator();
+ Iterator<?> i = klass.methods.iterator();
while (i.hasNext())
{
MethodNode method = (MethodNode) i.next();
diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/Keywords.java b/libjava/classpath/tools/gnu/classpath/tools/javah/Keywords.java
index b281197c5e9..73e2c627caa 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/javah/Keywords.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/javah/Keywords.java
@@ -152,10 +152,10 @@ public class Keywords
"xor_eq"
};
- private static final HashSet keywords;
+ private static final HashSet<String> keywords;
static
{
- keywords = new HashSet();
+ keywords = new HashSet<String>();
for (int i = 0; i < words.length; ++i)
keywords.add(words[i]);
}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/Main.java b/libjava/classpath/tools/gnu/classpath/tools/javah/Main.java
index bfca4444645..15fd52c8a05 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/javah/Main.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/javah/Main.java
@@ -96,10 +96,10 @@ public class Main
boolean force;
// Map class names to class wrappers.
- HashMap classMap = new HashMap();
+ HashMap<String,ClassWrapper> classMap = new HashMap<String,ClassWrapper>();
// Map class names to lists of Text objects.
- HashMap textMap = new HashMap();
+ HashMap<String,ArrayList<Text>> textMap = new HashMap<String,ArrayList<Text>>();
void readCommandFile(String textFileName) throws OptionException
{
@@ -114,7 +114,7 @@ public class Main
}
BufferedReader reader = new BufferedReader(new InputStreamReader(fis));
String currentClass = null;
- ArrayList currentValues = null;
+ ArrayList<Text> currentValues = null;
while (true)
{
String line;
@@ -142,7 +142,7 @@ public class Main
textMap.put(currentClass, currentValues);
}
currentClass = value;
- currentValues = new ArrayList();
+ currentValues = new ArrayList<Text>();
continue;
}
if (currentClass == null)
@@ -165,7 +165,7 @@ public class Main
}
}
- void scanDirectory(File dir, final HashSet results)
+ void scanDirectory(File dir, final HashSet<Object> results)
{
File[] files = dir.listFiles(new FileFilter()
{
@@ -317,15 +317,15 @@ public class Main
return result;
}
- private void writeHeaders(HashMap klasses, Printer printer)
+ private void writeHeaders(HashMap<File,ClassWrapper> klasses, Printer printer)
throws IOException
{
- Iterator i = klasses.entrySet().iterator();
+ Iterator<Map.Entry<File,ClassWrapper>> i = klasses.entrySet().iterator();
while (i.hasNext())
{
- Map.Entry e = (Map.Entry) i.next();
- File file = (File) e.getKey();
- ClassWrapper klass = (ClassWrapper) e.getValue();
+ Map.Entry<File,ClassWrapper> e = i.next();
+ File file = e.getKey();
+ ClassWrapper klass = e.getValue();
if (verbose)
System.err.println("[writing " + klass + " as " + file + "]");
printer.printClass(file, klass);
@@ -368,7 +368,7 @@ public class Main
// First we load all of the files. That way if
// there are references between the files we will
// be loading the set that the user asked for.
- HashSet klasses = new HashSet();
+ HashSet<Object> klasses = new HashSet<Object>();
if (allDirectory != null)
scanDirectory(new File(allDirectory), klasses);
// Add the command-line arguments. We use the type of
@@ -385,8 +385,8 @@ public class Main
}
}
- Iterator i = klasses.iterator();
- HashMap results = new HashMap();
+ Iterator<Object> i = klasses.iterator();
+ HashMap<File,ClassWrapper> results = new HashMap<File,ClassWrapper>();
while (i.hasNext())
{
// Let user specify either kind of class name or a
@@ -419,9 +419,9 @@ public class Main
writeHeaders(results, printer);
}
- public ArrayList getClassTextList(String name)
+ public ArrayList<Text> getClassTextList(String name)
{
- return (ArrayList) textMap.get(name);
+ return textMap.get(name);
}
private ClassWrapper readClass(InputStream is) throws IOException
diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/MethodHelper.java b/libjava/classpath/tools/gnu/classpath/tools/javah/MethodHelper.java
index e12e47c540e..8743f9a84f4 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/javah/MethodHelper.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/javah/MethodHelper.java
@@ -64,7 +64,7 @@ public class MethodHelper
{
if ((meth.access & Opcodes.ACC_BRIDGE) == 0)
return null;
- Iterator i = meth.instructions.iterator();
+ Iterator<?> i = meth.instructions.iterator();
while (i.hasNext())
{
AbstractInsnNode insn = (AbstractInsnNode) i.next();
diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/PathOptionGroup.java b/libjava/classpath/tools/gnu/classpath/tools/javah/PathOptionGroup.java
index ea61eece751..8eec4cc6051 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/javah/PathOptionGroup.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/javah/PathOptionGroup.java
@@ -55,11 +55,11 @@ import java.util.StringTokenizer;
public class PathOptionGroup
extends OptionGroup
{
- ArrayList classpath = new ArrayList();
+ ArrayList<String> classpath = new ArrayList<String>();
- ArrayList bootclasspath = new ArrayList();
+ ArrayList<String> bootclasspath = new ArrayList<String>();
- void setPath(ArrayList list, String path)
+ void setPath(ArrayList<String> list, String path)
{
list.clear();
StringTokenizer st = new StringTokenizer(path, File.pathSeparator);
@@ -69,7 +69,7 @@ public class PathOptionGroup
}
}
- void addExtDirs(ArrayList list, String path)
+ void addExtDirs(ArrayList<String> list, String path)
{
StringTokenizer tok = new StringTokenizer(path, File.pathSeparator);
while (tok.hasMoreTokens())
@@ -133,15 +133,15 @@ public class PathOptionGroup
public URLClassLoader getLoader() throws MalformedURLException
{
- ArrayList urls = new ArrayList();
+ ArrayList<URL> urls = new ArrayList<URL>();
classpath.addAll(bootclasspath);
- Iterator i = classpath.iterator();
+ Iterator<String> i = classpath.iterator();
while (i.hasNext())
{
- String f = (String) i.next();
+ String f = i.next();
urls.add(new File(f).toURL());
}
- URL[] urlArray = (URL[]) urls.toArray(new URL[0]);
+ URL[] urlArray = urls.toArray(new URL[0]);
return new URLClassLoader(urlArray);
}
}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java
index 255946711db..251e2199e0d 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java
@@ -17,7 +17,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.rmic;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/CompilationError.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/CompilationError.java
index 176a09598d2..244b469133e 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/rmic/CompilationError.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/CompilationError.java
@@ -17,7 +17,24 @@ You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
-*/
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
package gnu.classpath.tools.rmic;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/Generator.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/Generator.java
index 70793cf6cd3..270f6eaf806 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/rmic/Generator.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/Generator.java
@@ -17,7 +17,24 @@ You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
-*/
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
package gnu.classpath.tools.rmic;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/GiopIo.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/GiopIo.java
index 0d77d1a787e..42f291b4fb5 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/rmic/GiopIo.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/GiopIo.java
@@ -17,7 +17,24 @@ You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
-*/
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
package gnu.classpath.tools.rmic;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/HashFinder.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/HashFinder.java
index cf4d67f0cc0..c3e363c8da1 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/rmic/HashFinder.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/HashFinder.java
@@ -17,7 +17,23 @@ You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
-*/
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.rmic;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/Main.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/Main.java
index 28f4d193144..204bb3be719 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/rmic/Main.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/Main.java
@@ -17,7 +17,24 @@ You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
-*/
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
package gnu.classpath.tools.rmic;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/MethodGenerator.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/MethodGenerator.java
index 650468d9465..ecac907657d 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/rmic/MethodGenerator.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/MethodGenerator.java
@@ -17,7 +17,24 @@ You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
-*/
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
package gnu.classpath.tools.rmic;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/RMICException.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/RMICException.java
index 300d60947d7..28eb8d42c56 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/rmic/RMICException.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/RMICException.java
@@ -16,8 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.rmic;
@@ -25,7 +41,7 @@ package gnu.classpath.tools.rmic;
* Thrown by the underlying compiler used by RMIC when it fails to compile a
* file.
*
- * @author Dalibor Topic <robilad@kaffe.org>
+ * @author Dalibor Topic (robilad@kaffe.org)
*/
public class RMICException
extends Exception
diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java
index b526bbb9f75..8d1a1e805ba 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java
@@ -22,8 +22,18 @@
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
-*/
+ As a special exception, the copyright holders of this library give you
+ permission to link this library with independent modules to produce an
+ executable, regardless of the license terms of these independent
+ modules, and to copy and distribute the resulting executable under
+ terms of your choice, provided that you also meet, for each linked
+ independent module, the terms and conditions of the license of that
+ module. An independent module is a module which is not derived from
+ or based on this library. If you modify this library, you may extend
+ this exception to your version of the library, but you are not
+ obligated to do so. If you do not wish to do so, delete this
+ exception statement from your version. */
package gnu.classpath.tools.rmic;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/RmicBackend.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/RmicBackend.java
index 60eb854ca4c..db71b21effe 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/rmic/RmicBackend.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/RmicBackend.java
@@ -17,7 +17,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.rmic;
public interface RmicBackend
diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/SourceRmicCompiler.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/SourceRmicCompiler.java
index 20ab8c15637..a6f642b7997 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/rmic/SourceRmicCompiler.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/SourceRmicCompiler.java
@@ -22,8 +22,18 @@ Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
-*/
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.rmic;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/Variables.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/Variables.java
index bddf5f78377..e3568e93340 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/rmic/Variables.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/Variables.java
@@ -17,7 +17,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.rmic;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/WrapUnWrapper.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/WrapUnWrapper.java
index c51925fa6b9..3737334a458 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/rmic/WrapUnWrapper.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/WrapUnWrapper.java
@@ -17,7 +17,23 @@ You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
-*/
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.rmic;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/serialver/SerialVer.java b/libjava/classpath/tools/gnu/classpath/tools/serialver/SerialVer.java
index a8c526c82ef..ba586170e52 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/serialver/SerialVer.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/serialver/SerialVer.java
@@ -16,8 +16,24 @@
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
+ 02111-1307 USA.
+
+ Linking this library statically or dynamically with other modules is
+ making a combined work based on this library. Thus, the terms and
+ conditions of the GNU General Public License cover the whole
+ combination.
+
+ As a special exception, the copyright holders of this library give you
+ permission to link this library with independent modules to produce an
+ executable, regardless of the license terms of these independent
+ modules, and to copy and distribute the resulting executable under
+ terms of your choice, provided that you also meet, for each linked
+ independent module, the terms and conditions of the license of that
+ module. An independent module is a module which is not derived from
+ or based on this library. If you modify this library, you may extend
+ this exception to your version of the library, but you are not
+ obligated to do so. If you do not wish to do so, delete this
+ exception statement from your version. */
package gnu.classpath.tools.serialver;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/taglets/AuthorTaglet.java b/libjava/classpath/tools/gnu/classpath/tools/taglets/AuthorTaglet.java
index d3bb3719b92..fd6e924f18c 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/taglets/AuthorTaglet.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/taglets/AuthorTaglet.java
@@ -1,276 +1,293 @@
-/* gnu.classpath.tools.taglets.AuthorTaglet
- Copyright (C) 2001 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
-
-package gnu.classpath.tools.taglets;
-
-import java.util.Map;
-
-import java.util.regex.Pattern;
-import java.util.regex.Matcher;
-
-import com.sun.tools.doclets.Taglet;
-
-import com.sun.javadoc.Tag;
-
-/**
- * The default Taglet which handles Author information.
- *
- * @author Julian Scheid (julian@sektor37.de)
- */
-public class AuthorTaglet implements Taglet {
-
- /**
- * Enum class which denotes whether and how to replace email
- * addresses in author tags.
- */
- public static class EmailReplacement {
- private EmailReplacement() {}
-
- /**
- * Specifies that email addresses should not be replaced.
- */
- public static final EmailReplacement NO_REPLACEMENT = new EmailReplacement();
-
- /**
- * Specifies that author tag text matching "Real Name
- * (user@domain.tld)" is converted to "&lt;a
- * href="mailto:user@domain.tld"&gt;Real Name&lt;/a&gt;.
- */
- public static final EmailReplacement MAILTO_NAME = new EmailReplacement();
-
- /**
- * Specifies that author tag text matching "Real Name
- * (user@domain.tld)" is converted to "Real Name (&lt;a
- * href="mailto:user@domain.tld"&gt;user@domain.tld&lt;/a&gt;).
- */
- public static final EmailReplacement NAME_MAILTO_ADDRESS = new EmailReplacement();
-
- /**
- * Specifies that author tag text matching "Real Name
- * (user@domain.tld)" is converted to "Real Name (user AT
- * domain DOT tld)", where the "AT" and "DOT" replacement are
- * specified by AuthorTaglet.emailAtReplacement and
- * AuthorTaglet.emailDotReplacement.
- */
- public static final EmailReplacement NAME_MANGLED_ADDRESS = new EmailReplacement();
- }
-
- private static EmailReplacement emailReplacementType = EmailReplacement.NO_REPLACEMENT;
- private static String atReplacement = " <b>at</b> ";
- private static String dotReplacement = " <b>dot</b> ";
-
- private static final String NAME = "author";
- private static final String SINGLE_HEADER = "Author:";
- private static final String MULTI_HEADER = "Authors:";
-
- private static boolean enabled = true;
-
- /**
- * Matches <code>.</code> (dot).
- */
- private static final Pattern dotPattern = Pattern.compile("[.]");
-
- /**
- * Matches <code>@</code> (at sign).
- */
- private static final Pattern atPattern = Pattern.compile("[@]");
-
- /**
- * Matches <code>Real Name (user@domain.tld)</code>.
- */
- private static final Pattern authorEmailPattern
- = Pattern.compile("^"
- + "\\s*" // optional whitespace
- + "(" // group #1 start (real name)
- + "(?:[^\t\r\n ]|\\()+" // first name
- + "(?:\\s+(?:[^\t\r\n ]|\\()+)*" // additional names
- + ")" // group #1 end
- + "\\s*" // optional whitespace
- + "[(<]" // opening paren
- + "\\s*" // optional whitespace
- + "(" // group #2 start (email address)
- + "(" // group #3 start (email user)
- + "[A-z0-9_\\-\\.]+" // username
- + ")" // group #3 end
- + "[@]" // at sign
- + "[A-z0-9_\\-]+(?:[.][A-z0-9_\\-]+)+[A-z]" // domain
- + ")" // group #2 end
- + "\\s*" // optional whitespace
- + "(?:\\)|>)" // closing paren
- + "$");
-
- public String getName() {
- return NAME;
- }
-
- public boolean inField() {
- return true;
- }
-
- public boolean inConstructor() {
- return true;
- }
-
- public boolean inMethod() {
- return true;
- }
-
- public boolean inOverview() {
- return true;
- }
-
- public boolean inPackage() {
- return true;
- }
-
- public boolean inType() {
- return true;
- }
-
- public boolean isInlineTag() {
- return false;
- }
-
- public static void register(Map tagletMap) {
- AuthorTaglet authorTaglet = new AuthorTaglet();
- tagletMap.put(authorTaglet.getName(), authorTaglet);
- }
-
- public String toString(Tag tag) {
- if (enabled) {
- return toString(new Tag[] { tag });
- }
- else {
- return null;
- }
- }
-
- public String toString(Tag[] tags) {
- if (!enabled || tags.length == 0) {
- return null;
- }
- else {
- boolean haveValidTag = false;
- for (int i = 0; i < tags.length && !haveValidTag; ++i) {
- if (tags[i].text().length() > 0) {
- haveValidTag = true;
- }
- }
-
- if (haveValidTag) {
- StringBuffer result = new StringBuffer();
- result.append("<dl class=\"tag list\">");
- result.append("<dt class=\"tag section header\"><b>");
- if (tags.length == 1) {
- result.append(SINGLE_HEADER);
- }
- else {
- result.append(MULTI_HEADER);
- }
- result.append("</b></dt>");
- for (int i = 0; i < tags.length; i++) {
- result.append("<dd class=\"tag item\">");
- result.append(replaceEmail(tags[i].text()));
- result.append("</dd>");
- }
- result.append("</dl>");
- return result.toString();
- }
- else {
- return null;
- }
- }
- }
-
- /**
- * Reformat the tag text according to {@link #emailReplacementType}.
- */
- private String replaceEmail(String text) {
-
- if (EmailReplacement.NO_REPLACEMENT == emailReplacementType) {
- return text;
- }
- else {
- Matcher matcher = authorEmailPattern.matcher(text);
- if (matcher.matches()) {
- String realName = matcher.group(1);
- String emailAddress = matcher.group(2);
- if (EmailReplacement.MAILTO_NAME == emailReplacementType) {
- return "<a href=\"mailto:" + emailAddress + "\">" + realName + "</a>";
- }
- else if (EmailReplacement.NAME_MAILTO_ADDRESS == emailReplacementType) {
- return realName + " (<a href=\"mailto:" + emailAddress + "\">" + emailAddress + "</a>)";
- }
- else if (EmailReplacement.NAME_MANGLED_ADDRESS == emailReplacementType) {
- Matcher dotMatcher = dotPattern.matcher(emailAddress);
- Matcher atMatcher = atPattern.matcher(dotMatcher.replaceAll(dotReplacement));
- String mangledAddress = atMatcher.replaceAll(atReplacement);
- return realName + " (" + mangledAddress + ")";
- }
- else {
- // this shouldn't happen
- return text;
- }
- }
- else {
- return text;
- }
- }
- }
-
- /**
- * Set the email replacement type.
- */
- public static void setEmailReplacementType(EmailReplacement emailReplacementType)
- {
- if (null == emailReplacementType) {
- throw new NullPointerException();
- }
- AuthorTaglet.emailReplacementType = emailReplacementType;
- }
-
- /**
- * Set the HTML text by which the <code>@</code> (at sign) in email
- * addresses should be replaced if the email replacement type is
- * <code>NAME_MANGLED_ADDRESS</code>.
- */
- public static void setAtReplacement(String atReplacement)
- {
- AuthorTaglet.atReplacement = atReplacement;
- }
-
- /**
- * Set the HTML text by which the <code>.</code> (dot) in email
- * addresses should be replaced if the email replacement type is
- * <code>NAME_MANGLED_ADDRESS</code>.
- */
- public static void setDotReplacement(String dotReplacement)
- {
- AuthorTaglet.dotReplacement = dotReplacement;
- }
-
- /**
- * Enables/disables this taglet.
- */
- public static void setTagletEnabled(boolean enabled)
- {
- AuthorTaglet.enabled = enabled;
- }
-}
+/* gnu.classpath.tools.taglets.AuthorTaglet
+ Copyright (C) 2001 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.classpath.tools.taglets;
+
+import java.util.Map;
+
+import java.util.regex.Pattern;
+import java.util.regex.Matcher;
+
+import com.sun.tools.doclets.Taglet;
+
+import com.sun.javadoc.Tag;
+
+/**
+ * The default Taglet which handles Author information.
+ *
+ * @author Julian Scheid (julian@sektor37.de)
+ */
+public class AuthorTaglet implements Taglet {
+
+ /**
+ * Enum class which denotes whether and how to replace email
+ * addresses in author tags.
+ */
+ public static class EmailReplacement {
+ private EmailReplacement() {}
+
+ /**
+ * Specifies that email addresses should not be replaced.
+ */
+ public static final EmailReplacement NO_REPLACEMENT = new EmailReplacement();
+
+ /**
+ * Specifies that author tag text matching "Real Name
+ * (user@domain.tld)" is converted to "&lt;a
+ * href="mailto:user@domain.tld"&gt;Real Name&lt;/a&gt;.
+ */
+ public static final EmailReplacement MAILTO_NAME = new EmailReplacement();
+
+ /**
+ * Specifies that author tag text matching "Real Name
+ * (user@domain.tld)" is converted to "Real Name (&lt;a
+ * href="mailto:user@domain.tld"&gt;user@domain.tld&lt;/a&gt;).
+ */
+ public static final EmailReplacement NAME_MAILTO_ADDRESS = new EmailReplacement();
+
+ /**
+ * Specifies that author tag text matching "Real Name
+ * (user@domain.tld)" is converted to "Real Name (user AT
+ * domain DOT tld)", where the "AT" and "DOT" replacement are
+ * specified by AuthorTaglet.emailAtReplacement and
+ * AuthorTaglet.emailDotReplacement.
+ */
+ public static final EmailReplacement NAME_MANGLED_ADDRESS = new EmailReplacement();
+ }
+
+ private static EmailReplacement emailReplacementType = EmailReplacement.NO_REPLACEMENT;
+ private static String atReplacement = " <b>at</b> ";
+ private static String dotReplacement = " <b>dot</b> ";
+
+ private static final String NAME = "author";
+ private static final String SINGLE_HEADER = "Author:";
+ private static final String MULTI_HEADER = "Authors:";
+
+ private static boolean enabled = true;
+
+ /**
+ * Matches <code>.</code> (dot).
+ */
+ private static final Pattern dotPattern = Pattern.compile("[.]");
+
+ /**
+ * Matches <code>@</code> (at sign).
+ */
+ private static final Pattern atPattern = Pattern.compile("[@]");
+
+ /**
+ * Matches <code>Real Name (user@domain.tld)</code>.
+ */
+ private static final Pattern authorEmailPattern
+ = Pattern.compile("^"
+ + "\\s*" // optional whitespace
+ + "(" // group #1 start (real name)
+ + "(?:[^\t\r\n ]|\\()+" // first name
+ + "(?:\\s+(?:[^\t\r\n ]|\\()+)*" // additional names
+ + ")" // group #1 end
+ + "\\s*" // optional whitespace
+ + "[(<]" // opening paren
+ + "\\s*" // optional whitespace
+ + "(" // group #2 start (email address)
+ + "(" // group #3 start (email user)
+ + "[A-z0-9_\\-\\.]+" // username
+ + ")" // group #3 end
+ + "[@]" // at sign
+ + "[A-z0-9_\\-]+(?:[.][A-z0-9_\\-]+)+[A-z]" // domain
+ + ")" // group #2 end
+ + "\\s*" // optional whitespace
+ + "(?:\\)|>)" // closing paren
+ + "$");
+
+ public String getName() {
+ return NAME;
+ }
+
+ public boolean inField() {
+ return true;
+ }
+
+ public boolean inConstructor() {
+ return true;
+ }
+
+ public boolean inMethod() {
+ return true;
+ }
+
+ public boolean inOverview() {
+ return true;
+ }
+
+ public boolean inPackage() {
+ return true;
+ }
+
+ public boolean inType() {
+ return true;
+ }
+
+ public boolean isInlineTag() {
+ return false;
+ }
+
+ public static void register(Map tagletMap) {
+ AuthorTaglet authorTaglet = new AuthorTaglet();
+ tagletMap.put(authorTaglet.getName(), authorTaglet);
+ }
+
+ public String toString(Tag tag) {
+ if (enabled) {
+ return toString(new Tag[] { tag });
+ }
+ else {
+ return null;
+ }
+ }
+
+ public String toString(Tag[] tags) {
+ if (!enabled || tags.length == 0) {
+ return null;
+ }
+ else {
+ boolean haveValidTag = false;
+ for (int i = 0; i < tags.length && !haveValidTag; ++i) {
+ if (tags[i].text().length() > 0) {
+ haveValidTag = true;
+ }
+ }
+
+ if (haveValidTag) {
+ StringBuffer result = new StringBuffer();
+ result.append("<dl class=\"tag list\">");
+ result.append("<dt class=\"tag section header\"><b>");
+ if (tags.length == 1) {
+ result.append(SINGLE_HEADER);
+ }
+ else {
+ result.append(MULTI_HEADER);
+ }
+ result.append("</b></dt>");
+ for (int i = 0; i < tags.length; i++) {
+ result.append("<dd class=\"tag item\">");
+ result.append(replaceEmail(tags[i].text()));
+ result.append("</dd>");
+ }
+ result.append("</dl>");
+ return result.toString();
+ }
+ else {
+ return null;
+ }
+ }
+ }
+
+ /**
+ * Reformat the tag text according to {@link #emailReplacementType}.
+ */
+ private String replaceEmail(String text) {
+
+ if (EmailReplacement.NO_REPLACEMENT == emailReplacementType) {
+ return text;
+ }
+ else {
+ Matcher matcher = authorEmailPattern.matcher(text);
+ if (matcher.matches()) {
+ String realName = matcher.group(1);
+ String emailAddress = matcher.group(2);
+ if (EmailReplacement.MAILTO_NAME == emailReplacementType) {
+ return "<a href=\"mailto:" + emailAddress + "\">" + realName + "</a>";
+ }
+ else if (EmailReplacement.NAME_MAILTO_ADDRESS == emailReplacementType) {
+ return realName + " (<a href=\"mailto:" + emailAddress + "\">" + emailAddress + "</a>)";
+ }
+ else if (EmailReplacement.NAME_MANGLED_ADDRESS == emailReplacementType) {
+ Matcher dotMatcher = dotPattern.matcher(emailAddress);
+ Matcher atMatcher = atPattern.matcher(dotMatcher.replaceAll(dotReplacement));
+ String mangledAddress = atMatcher.replaceAll(atReplacement);
+ return realName + " (" + mangledAddress + ")";
+ }
+ else {
+ // this shouldn't happen
+ return text;
+ }
+ }
+ else {
+ return text;
+ }
+ }
+ }
+
+ /**
+ * Set the email replacement type.
+ */
+ public static void setEmailReplacementType(EmailReplacement emailReplacementType)
+ {
+ if (null == emailReplacementType) {
+ throw new NullPointerException();
+ }
+ AuthorTaglet.emailReplacementType = emailReplacementType;
+ }
+
+ /**
+ * Set the HTML text by which the <code>@</code> (at sign) in email
+ * addresses should be replaced if the email replacement type is
+ * <code>NAME_MANGLED_ADDRESS</code>.
+ */
+ public static void setAtReplacement(String atReplacement)
+ {
+ AuthorTaglet.atReplacement = atReplacement;
+ }
+
+ /**
+ * Set the HTML text by which the <code>.</code> (dot) in email
+ * addresses should be replaced if the email replacement type is
+ * <code>NAME_MANGLED_ADDRESS</code>.
+ */
+ public static void setDotReplacement(String dotReplacement)
+ {
+ AuthorTaglet.dotReplacement = dotReplacement;
+ }
+
+ /**
+ * Enables/disables this taglet.
+ */
+ public static void setTagletEnabled(boolean enabled)
+ {
+ AuthorTaglet.enabled = enabled;
+ }
+}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/taglets/CodeTaglet.java b/libjava/classpath/tools/gnu/classpath/tools/taglets/CodeTaglet.java
index 16ed3d5b0ad..f76e77965aa 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/taglets/CodeTaglet.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/taglets/CodeTaglet.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.taglets;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/taglets/CopyrightTaglet.java b/libjava/classpath/tools/gnu/classpath/tools/taglets/CopyrightTaglet.java
index bb0d9a74d7c..6f744a9f21d 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/taglets/CopyrightTaglet.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/taglets/CopyrightTaglet.java
@@ -1,106 +1,123 @@
-/* gnu.classpath.tools.taglets.CopyrightTaglet
- Copyright (C) 2001 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
-
-package gnu.classpath.tools.taglets;
-
-import java.util.Map;
-
-import com.sun.tools.doclets.Taglet;
-
-import com.sun.javadoc.Tag;
-
-/**
- * A simple Taglet which handles Copyright information.
- */
-public class CopyrightTaglet implements Taglet {
-
- private static final String NAME = "copyright";
- private static final String HEADER = "Copyright:";
-
- public String getName() {
- return NAME;
- }
-
- public boolean inField() {
- return true;
- }
-
- public boolean inConstructor() {
- return true;
- }
-
- public boolean inMethod() {
- return true;
- }
-
- public boolean inOverview() {
- return true;
- }
-
- public boolean inPackage() {
- return true;
- }
-
- public boolean inType() {
- return true;
- }
-
- public boolean isInlineTag() {
- return false;
- }
-
- public static void register(Map tagletMap) {
- CopyrightTaglet copyrightTaglet = new CopyrightTaglet();
- tagletMap.put(copyrightTaglet.getName(), copyrightTaglet);
- }
-
- public String toString(Tag tag) {
- return toString(new Tag[] { tag });
- }
-
- public String toString(Tag[] tags) {
- if (tags.length == 0) {
- return null;
- }
- else {
- boolean haveValidTag = false;
- for (int i = 0; i < tags.length && !haveValidTag; ++i) {
- if (tags[i].text().length() > 0) {
- haveValidTag = true;
- }
- }
-
- if (haveValidTag) {
- StringBuffer result = new StringBuffer();
- result.append("<dl>");
- for (int i = 0; i < tags.length; i++) {
- if (tags[i].text().length() > 0) {
- result.append("<dt><i>Copyright &#169; " + tags[i].text() + "</i></dt>");
- }
- }
- result.append("</dl>");
- return result.toString();
- }
- else {
- return null;
- }
- }
- }
-}
+/* gnu.classpath.tools.taglets.CopyrightTaglet
+ Copyright (C) 2001 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.classpath.tools.taglets;
+
+import java.util.Map;
+
+import com.sun.tools.doclets.Taglet;
+
+import com.sun.javadoc.Tag;
+
+/**
+ * A simple Taglet which handles Copyright information.
+ */
+public class CopyrightTaglet implements Taglet {
+
+ private static final String NAME = "copyright";
+ private static final String HEADER = "Copyright:";
+
+ public String getName() {
+ return NAME;
+ }
+
+ public boolean inField() {
+ return true;
+ }
+
+ public boolean inConstructor() {
+ return true;
+ }
+
+ public boolean inMethod() {
+ return true;
+ }
+
+ public boolean inOverview() {
+ return true;
+ }
+
+ public boolean inPackage() {
+ return true;
+ }
+
+ public boolean inType() {
+ return true;
+ }
+
+ public boolean isInlineTag() {
+ return false;
+ }
+
+ public static void register(Map tagletMap) {
+ CopyrightTaglet copyrightTaglet = new CopyrightTaglet();
+ tagletMap.put(copyrightTaglet.getName(), copyrightTaglet);
+ }
+
+ public String toString(Tag tag) {
+ return toString(new Tag[] { tag });
+ }
+
+ public String toString(Tag[] tags) {
+ if (tags.length == 0) {
+ return null;
+ }
+ else {
+ boolean haveValidTag = false;
+ for (int i = 0; i < tags.length && !haveValidTag; ++i) {
+ if (tags[i].text().length() > 0) {
+ haveValidTag = true;
+ }
+ }
+
+ if (haveValidTag) {
+ StringBuffer result = new StringBuffer();
+ result.append("<dl>");
+ for (int i = 0; i < tags.length; i++) {
+ if (tags[i].text().length() > 0) {
+ result.append("<dt><i>Copyright &#169; " + tags[i].text() + "</i></dt>");
+ }
+ }
+ result.append("</dl>");
+ return result.toString();
+ }
+ else {
+ return null;
+ }
+ }
+ }
+}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/taglets/DeprecatedTaglet.java b/libjava/classpath/tools/gnu/classpath/tools/taglets/DeprecatedTaglet.java
index ba406a6ebad..aae4ad357b1 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/taglets/DeprecatedTaglet.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/taglets/DeprecatedTaglet.java
@@ -1,115 +1,132 @@
-/* gnu.classpath.tools.taglets.DeprecatedTaglet
- Copyright (C) 2001 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
-
-package gnu.classpath.tools.taglets;
-
-import java.util.Map;
-
-import com.sun.tools.doclets.Taglet;
-
-import com.sun.javadoc.Tag;
-
-/**
- * The default Taglet which handles deprecated information.
- *
- * @author Julian Scheid (julian@sektor37.de)
- */
-public class DeprecatedTaglet implements Taglet {
-
- private static final String NAME = "deprecated";
- private static final String HEADER = "Deprecated:";
-
- private static boolean enabled = true;
-
- public String getName() {
- return NAME;
- }
-
- public boolean inField() {
- return true;
- }
-
- public boolean inConstructor() {
- return true;
- }
-
- public boolean inMethod() {
- return true;
- }
-
- public boolean inOverview() {
- return true;
- }
-
- public boolean inPackage() {
- return true;
- }
-
- public boolean inType() {
- return true;
- }
-
- public boolean isInlineTag() {
- return false;
- }
-
- public static void register(Map tagletMap) {
- DeprecatedTaglet deprecatedTaglet = new DeprecatedTaglet();
- tagletMap.put(deprecatedTaglet.getName(), deprecatedTaglet);
- }
-
- public String toString(Tag tag) {
- if (enabled) {
- return toString(new Tag[] { tag });
- }
- else {
- return null;
- }
- }
-
- public String toString(Tag[] tags) {
- if (!enabled || tags.length == 0) {
- return null;
- }
- else {
-
- StringBuffer result = new StringBuffer();
- result.append("<div class=\"classdoc-tag-section-header\">");
- result.append(HEADER);
- result.append("</div>");
- result.append("<dl class=\"classdoc-list\">");
- for (int i = 0; i < tags.length; i++) {
- result.append("<dt>");
- result.append(tags[i].text());
- result.append("</dt>");
- }
- result.append("</dl>");
- return result.toString();
- }
- }
-
- /**
- * Enables/disables this taglet.
- */
- public static void setTagletEnabled(boolean enabled)
- {
- DeprecatedTaglet.enabled = enabled;
- }
-}
+/* gnu.classpath.tools.taglets.DeprecatedTaglet
+ Copyright (C) 2001 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.classpath.tools.taglets;
+
+import java.util.Map;
+
+import com.sun.tools.doclets.Taglet;
+
+import com.sun.javadoc.Tag;
+
+/**
+ * The default Taglet which handles deprecated information.
+ *
+ * @author Julian Scheid (julian@sektor37.de)
+ */
+public class DeprecatedTaglet implements Taglet {
+
+ private static final String NAME = "deprecated";
+ private static final String HEADER = "Deprecated:";
+
+ private static boolean enabled = true;
+
+ public String getName() {
+ return NAME;
+ }
+
+ public boolean inField() {
+ return true;
+ }
+
+ public boolean inConstructor() {
+ return true;
+ }
+
+ public boolean inMethod() {
+ return true;
+ }
+
+ public boolean inOverview() {
+ return true;
+ }
+
+ public boolean inPackage() {
+ return true;
+ }
+
+ public boolean inType() {
+ return true;
+ }
+
+ public boolean isInlineTag() {
+ return false;
+ }
+
+ public static void register(Map tagletMap) {
+ DeprecatedTaglet deprecatedTaglet = new DeprecatedTaglet();
+ tagletMap.put(deprecatedTaglet.getName(), deprecatedTaglet);
+ }
+
+ public String toString(Tag tag) {
+ if (enabled) {
+ return toString(new Tag[] { tag });
+ }
+ else {
+ return null;
+ }
+ }
+
+ public String toString(Tag[] tags) {
+ if (!enabled || tags.length == 0) {
+ return null;
+ }
+ else {
+
+ StringBuffer result = new StringBuffer();
+ result.append("<div class=\"classdoc-tag-section-header\">");
+ result.append(HEADER);
+ result.append("</div>");
+ result.append("<dl class=\"classdoc-list\">");
+ for (int i = 0; i < tags.length; i++) {
+ result.append("<dt>");
+ result.append(tags[i].text());
+ result.append("</dt>");
+ }
+ result.append("</dl>");
+ return result.toString();
+ }
+ }
+
+ /**
+ * Enables/disables this taglet.
+ */
+ public static void setTagletEnabled(boolean enabled)
+ {
+ DeprecatedTaglet.enabled = enabled;
+ }
+}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/taglets/GenericTaglet.java b/libjava/classpath/tools/gnu/classpath/tools/taglets/GenericTaglet.java
index 7e18cdcac6d..34eac2badef 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/taglets/GenericTaglet.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/taglets/GenericTaglet.java
@@ -1,140 +1,157 @@
-/* gnu.classpath.tools.taglets.GenericTaglet
- Copyright (C) 2001 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
-
-package gnu.classpath.tools.taglets;
-
-import java.util.Map;
-
-import com.sun.tools.doclets.Taglet;
-
-import com.sun.javadoc.Tag;
-
-/**
- * A taglet which can be configured at runtime.
- *
- * @author Julian Scheid (julian@sektor37.de)
- */
-public class GenericTaglet implements Taglet {
-
- private String name = "since";
- private String header = "Since:";
-
- private boolean scopeOverview;
- private boolean scopePackage;
- private boolean scopeType;
- private boolean scopeConstructor;
- private boolean scopeMethod;
- private boolean scopeField;
-
- private boolean enabled = true;
-
- public GenericTaglet(String name,
- String header,
- boolean scopeOverview,
- boolean scopePackage,
- boolean scopeType,
- boolean scopeConstructor,
- boolean scopeMethod,
- boolean scopeField)
- {
- this.name = name;
- this.header = header;
- this.scopeOverview = scopeOverview;
- this.scopePackage = scopePackage;
- this.scopeType = scopeType;
- this.scopeConstructor = scopeConstructor;
- this.scopeMethod = scopeMethod;
- this.scopeField = scopeField;
- }
-
- public String getName() {
- return name;
- }
-
- public boolean inField() {
- return scopeField;
- }
-
- public boolean inConstructor() {
- return scopeConstructor;
- }
-
- public boolean inMethod() {
- return scopeMethod;
- }
-
- public boolean inOverview() {
- return scopeOverview;
- }
-
- public boolean inPackage() {
- return scopePackage;
- }
-
- public boolean inType() {
- return scopeType;
- }
-
- public boolean isInlineTag() {
- return false;
- }
-
- public void register(Map tagletMap) {
- tagletMap.put(getName(), this);
- }
-
- public String toString(Tag tag) {
- if (enabled) {
- return toString(new Tag[] { tag });
- }
- else {
- return null;
- }
- }
-
- public String toString(Tag[] tags) {
- if (!enabled || tags.length == 0) {
- return null;
- }
- else {
-
- StringBuffer result = new StringBuffer();
- result.append("<div class=\"classdoc-tag-section-header\">");
- result.append(header);
- result.append("</div>");
- result.append("<dl class=\"classdoc-list\">");
- for (int i = 0; i < tags.length; i++) {
- result.append("<dt>");
- result.append(tags[i].text());
- result.append("</dt>");
- }
- result.append("</dl>");
- return result.toString();
- }
- }
-
- /**
- * Enables/disables this taglet.
- */
- public void setTagletEnabled(boolean enabled)
- {
- this.enabled = enabled;
- }
-}
+/* gnu.classpath.tools.taglets.GenericTaglet
+ Copyright (C) 2001 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.classpath.tools.taglets;
+
+import java.util.Map;
+
+import com.sun.tools.doclets.Taglet;
+
+import com.sun.javadoc.Tag;
+
+/**
+ * A taglet which can be configured at runtime.
+ *
+ * @author Julian Scheid (julian@sektor37.de)
+ */
+public class GenericTaglet implements Taglet {
+
+ private String name = "since";
+ private String header = "Since:";
+
+ private boolean scopeOverview;
+ private boolean scopePackage;
+ private boolean scopeType;
+ private boolean scopeConstructor;
+ private boolean scopeMethod;
+ private boolean scopeField;
+
+ private boolean enabled = true;
+
+ public GenericTaglet(String name,
+ String header,
+ boolean scopeOverview,
+ boolean scopePackage,
+ boolean scopeType,
+ boolean scopeConstructor,
+ boolean scopeMethod,
+ boolean scopeField)
+ {
+ this.name = name;
+ this.header = header;
+ this.scopeOverview = scopeOverview;
+ this.scopePackage = scopePackage;
+ this.scopeType = scopeType;
+ this.scopeConstructor = scopeConstructor;
+ this.scopeMethod = scopeMethod;
+ this.scopeField = scopeField;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public boolean inField() {
+ return scopeField;
+ }
+
+ public boolean inConstructor() {
+ return scopeConstructor;
+ }
+
+ public boolean inMethod() {
+ return scopeMethod;
+ }
+
+ public boolean inOverview() {
+ return scopeOverview;
+ }
+
+ public boolean inPackage() {
+ return scopePackage;
+ }
+
+ public boolean inType() {
+ return scopeType;
+ }
+
+ public boolean isInlineTag() {
+ return false;
+ }
+
+ public void register(Map tagletMap) {
+ tagletMap.put(getName(), this);
+ }
+
+ public String toString(Tag tag) {
+ if (enabled) {
+ return toString(new Tag[] { tag });
+ }
+ else {
+ return null;
+ }
+ }
+
+ public String toString(Tag[] tags) {
+ if (!enabled || tags.length == 0) {
+ return null;
+ }
+ else {
+
+ StringBuffer result = new StringBuffer();
+ result.append("<div class=\"classdoc-tag-section-header\">");
+ result.append(header);
+ result.append("</div>");
+ result.append("<dl class=\"classdoc-list\">");
+ for (int i = 0; i < tags.length; i++) {
+ result.append("<dt>");
+ result.append(tags[i].text());
+ result.append("</dt>");
+ }
+ result.append("</dl>");
+ return result.toString();
+ }
+ }
+
+ /**
+ * Enables/disables this taglet.
+ */
+ public void setTagletEnabled(boolean enabled)
+ {
+ this.enabled = enabled;
+ }
+}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/taglets/GnuExtendedTaglet.java b/libjava/classpath/tools/gnu/classpath/tools/taglets/GnuExtendedTaglet.java
index 2e67d65191f..5f8726aa048 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/taglets/GnuExtendedTaglet.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/taglets/GnuExtendedTaglet.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.taglets;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/taglets/SinceTaglet.java b/libjava/classpath/tools/gnu/classpath/tools/taglets/SinceTaglet.java
index dac68a8c46a..aa1e1149165 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/taglets/SinceTaglet.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/taglets/SinceTaglet.java
@@ -1,144 +1,161 @@
-/* gnu.classpath.tools.taglets.SinceTaglet
- Copyright (C) 2001 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
-
-package gnu.classpath.tools.taglets;
-
-import java.util.Map;
-
-import com.sun.tools.doclets.Taglet;
-
-import com.sun.javadoc.Tag;
-
-import gnu.classpath.tools.doclets.InlineTagRenderer;
-
-/**
- * The default Taglet which handles since information.
- *
- * @author Julian Scheid (julian@sektor37.de)
- */
-public class SinceTaglet implements GnuExtendedTaglet {
-
- private static final String NAME = "since";
- private static final String HEADER = "Since:";
-
- private static boolean enabled = true;
-
- private InlineTagRenderer inlineTagRenderer;
-
- public SinceTaglet(InlineTagRenderer inlineTagRenderer)
- {
- this.inlineTagRenderer = inlineTagRenderer;
- }
-
- public String getName() {
- return NAME;
- }
-
- public boolean inField() {
- return true;
- }
-
- public boolean inConstructor() {
- return true;
- }
-
- public boolean inMethod() {
- return true;
- }
-
- public boolean inOverview() {
- return true;
- }
-
- public boolean inPackage() {
- return true;
- }
-
- public boolean inType() {
- return true;
- }
-
- public boolean isInlineTag() {
- return false;
- }
-
- public String toString(Tag tag) {
- // should raise assertion
- if (enabled) {
- return toString(new Tag[] { tag });
- }
- else {
- return null;
- }
- }
-
- public String toString(Tag[] tags) {
- // should raise assertion
- return toString(tags, null);
- }
-
- public String toString(Tag tag, TagletContext context)
- {
- return null;
- }
-
- public String toString(Tag[] tags, TagletContext context)
- {
- if (!enabled || tags.length == 0) {
- return null;
- }
- else {
- boolean haveValidTag = false;
- for (int i = 0; i < tags.length && !haveValidTag; ++i) {
- if (tags[i].text().length() > 0) {
- haveValidTag = true;
- }
- }
-
- if (haveValidTag) {
- StringBuffer result = new StringBuffer();
- result.append("<dl class=\"tag list\">");
- result.append("<dt class=\"tag section header\"><b>");
- result.append(HEADER);
- result.append("</b></dt>");
- for (int i = 0; i < tags.length; ++i) {
- if (tags[i].text().length() > 0) {
- result.append("<dd>");
- result.append(inlineTagRenderer.renderInlineTags(tags[i].inlineTags(), context));
- result.append("</dd>");
- }
- }
- result.append("</dl>");
- return result.toString();
- }
- else {
- return null;
- }
- }
- }
-
- /**
- * Enables/disables this taglet.
- */
- public static void setTagletEnabled(boolean enabled)
- {
- SinceTaglet.enabled = enabled;
- }
-}
+/* gnu.classpath.tools.taglets.SinceTaglet
+ Copyright (C) 2001 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.classpath.tools.taglets;
+
+import java.util.Map;
+
+import com.sun.tools.doclets.Taglet;
+
+import com.sun.javadoc.Tag;
+
+import gnu.classpath.tools.doclets.InlineTagRenderer;
+
+/**
+ * The default Taglet which handles since information.
+ *
+ * @author Julian Scheid (julian@sektor37.de)
+ */
+public class SinceTaglet implements GnuExtendedTaglet {
+
+ private static final String NAME = "since";
+ private static final String HEADER = "Since:";
+
+ private static boolean enabled = true;
+
+ private InlineTagRenderer inlineTagRenderer;
+
+ public SinceTaglet(InlineTagRenderer inlineTagRenderer)
+ {
+ this.inlineTagRenderer = inlineTagRenderer;
+ }
+
+ public String getName() {
+ return NAME;
+ }
+
+ public boolean inField() {
+ return true;
+ }
+
+ public boolean inConstructor() {
+ return true;
+ }
+
+ public boolean inMethod() {
+ return true;
+ }
+
+ public boolean inOverview() {
+ return true;
+ }
+
+ public boolean inPackage() {
+ return true;
+ }
+
+ public boolean inType() {
+ return true;
+ }
+
+ public boolean isInlineTag() {
+ return false;
+ }
+
+ public String toString(Tag tag) {
+ // should raise assertion
+ if (enabled) {
+ return toString(new Tag[] { tag });
+ }
+ else {
+ return null;
+ }
+ }
+
+ public String toString(Tag[] tags) {
+ // should raise assertion
+ return toString(tags, null);
+ }
+
+ public String toString(Tag tag, TagletContext context)
+ {
+ return null;
+ }
+
+ public String toString(Tag[] tags, TagletContext context)
+ {
+ if (!enabled || tags.length == 0) {
+ return null;
+ }
+ else {
+ boolean haveValidTag = false;
+ for (int i = 0; i < tags.length && !haveValidTag; ++i) {
+ if (tags[i].text().length() > 0) {
+ haveValidTag = true;
+ }
+ }
+
+ if (haveValidTag) {
+ StringBuffer result = new StringBuffer();
+ result.append("<dl class=\"tag list\">");
+ result.append("<dt class=\"tag section header\"><b>");
+ result.append(HEADER);
+ result.append("</b></dt>");
+ for (int i = 0; i < tags.length; ++i) {
+ if (tags[i].text().length() > 0) {
+ result.append("<dd>");
+ result.append(inlineTagRenderer.renderInlineTags(tags[i].inlineTags(), context));
+ result.append("</dd>");
+ }
+ }
+ result.append("</dl>");
+ return result.toString();
+ }
+ else {
+ return null;
+ }
+ }
+ }
+
+ /**
+ * Enables/disables this taglet.
+ */
+ public static void setTagletEnabled(boolean enabled)
+ {
+ SinceTaglet.enabled = enabled;
+ }
+}
diff --git a/libjava/classpath/tools/gnu/classpath/tools/taglets/TagletContext.java b/libjava/classpath/tools/gnu/classpath/tools/taglets/TagletContext.java
index cf706b6a95c..ff26747e2d9 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/taglets/TagletContext.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/taglets/TagletContext.java
@@ -1,3 +1,40 @@
+/* TagletContext.java -
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
package gnu.classpath.tools.taglets;
import com.sun.javadoc.Doc;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/taglets/ValueTaglet.java b/libjava/classpath/tools/gnu/classpath/tools/taglets/ValueTaglet.java
index 0f194ae102e..cfc393886f4 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/taglets/ValueTaglet.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/taglets/ValueTaglet.java
@@ -16,7 +16,24 @@ General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.classpath.tools.taglets;
diff --git a/libjava/classpath/tools/gnu/classpath/tools/taglets/VersionTaglet.java b/libjava/classpath/tools/gnu/classpath/tools/taglets/VersionTaglet.java
index e4eddb822c6..fadb972ea87 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/taglets/VersionTaglet.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/taglets/VersionTaglet.java
@@ -1,136 +1,153 @@
-/* gnu.classpath.tools.taglets.VersionTaglet
- Copyright (C) 2001 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
-
-package gnu.classpath.tools.taglets;
-
-import java.util.Map;
-
-import com.sun.tools.doclets.Taglet;
-
-import com.sun.javadoc.Tag;
-
-/**
- * The default Taglet which handles version information.
- *
- * @author Julian Scheid (julian@sektor37.de)
- */
-public class VersionTaglet implements Taglet {
-
- private static final String NAME = "version";
- private static final String HEADER = "Version:";
-
- private static boolean enabled = true;
-
- public String getName() {
- return NAME;
- }
-
- public boolean inField() {
- return true;
- }
-
- public boolean inConstructor() {
- return true;
- }
-
- public boolean inMethod() {
- return true;
- }
-
- public boolean inOverview() {
- return true;
- }
-
- public boolean inPackage() {
- return true;
- }
-
- public boolean inType() {
- return true;
- }
-
- public boolean isInlineTag() {
- return false;
- }
-
- public static void register(Map tagletMap) {
- VersionTaglet versionTaglet = new VersionTaglet();
- tagletMap.put(versionTaglet.getName(), versionTaglet);
- }
-
- public String toString(Tag tag) {
- if (enabled) {
- return toString(new Tag[] { tag });
- }
- else {
- return null;
- }
- }
-
- public String toString(Tag[] tags) {
- if (!enabled || tags.length == 0) {
- return null;
- }
- else {
- boolean haveValidTag = false;
- for (int i = 0; i < tags.length && !haveValidTag; ++i) {
- if (tags[i].text().length() > 0) {
- haveValidTag = true;
- }
- }
-
- if (haveValidTag) {
-
- StringBuffer result = new StringBuffer();
- result.append("<dl class=\"tag list\">");
- result.append("</dl>");
- result.append("<dt class=\"tag section header\"><b>");
- result.append(HEADER);
- result.append("</b></dt><dd>");
- boolean firstEntry = true;
- for (int i = 0; i < tags.length; i++) {
- if (tags[i].text().length() > 0) {
- if (!firstEntry) {
- result.append(", ");
- }
- else {
- firstEntry = false;
- }
- result.append(tags[i].text());
- }
- }
- result.append("</dd>");
- result.append("</dl>");
- return result.toString();
- }
- else {
- return null;
- }
- }
- }
-
- /**
- * Enables/disables this taglet.
- */
- public static void setTagletEnabled(boolean enabled)
- {
- VersionTaglet.enabled = enabled;
- }
-}
+/* gnu.classpath.tools.taglets.VersionTaglet
+ Copyright (C) 2001 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.classpath.tools.taglets;
+
+import java.util.Map;
+
+import com.sun.tools.doclets.Taglet;
+
+import com.sun.javadoc.Tag;
+
+/**
+ * The default Taglet which handles version information.
+ *
+ * @author Julian Scheid (julian@sektor37.de)
+ */
+public class VersionTaglet implements Taglet {
+
+ private static final String NAME = "version";
+ private static final String HEADER = "Version:";
+
+ private static boolean enabled = true;
+
+ public String getName() {
+ return NAME;
+ }
+
+ public boolean inField() {
+ return true;
+ }
+
+ public boolean inConstructor() {
+ return true;
+ }
+
+ public boolean inMethod() {
+ return true;
+ }
+
+ public boolean inOverview() {
+ return true;
+ }
+
+ public boolean inPackage() {
+ return true;
+ }
+
+ public boolean inType() {
+ return true;
+ }
+
+ public boolean isInlineTag() {
+ return false;
+ }
+
+ public static void register(Map tagletMap) {
+ VersionTaglet versionTaglet = new VersionTaglet();
+ tagletMap.put(versionTaglet.getName(), versionTaglet);
+ }
+
+ public String toString(Tag tag) {
+ if (enabled) {
+ return toString(new Tag[] { tag });
+ }
+ else {
+ return null;
+ }
+ }
+
+ public String toString(Tag[] tags) {
+ if (!enabled || tags.length == 0) {
+ return null;
+ }
+ else {
+ boolean haveValidTag = false;
+ for (int i = 0; i < tags.length && !haveValidTag; ++i) {
+ if (tags[i].text().length() > 0) {
+ haveValidTag = true;
+ }
+ }
+
+ if (haveValidTag) {
+
+ StringBuffer result = new StringBuffer();
+ result.append("<dl class=\"tag list\">");
+ result.append("</dl>");
+ result.append("<dt class=\"tag section header\"><b>");
+ result.append(HEADER);
+ result.append("</b></dt><dd>");
+ boolean firstEntry = true;
+ for (int i = 0; i < tags.length; i++) {
+ if (tags[i].text().length() > 0) {
+ if (!firstEntry) {
+ result.append(", ");
+ }
+ else {
+ firstEntry = false;
+ }
+ result.append(tags[i].text());
+ }
+ }
+ result.append("</dd>");
+ result.append("</dl>");
+ return result.toString();
+ }
+ else {
+ return null;
+ }
+ }
+ }
+
+ /**
+ * Enables/disables this taglet.
+ */
+ public static void setTagletEnabled(boolean enabled)
+ {
+ VersionTaglet.enabled = enabled;
+ }
+}