Normalise whitespace in GNU Classpath.

2010-06-03  Andrew John Hughes  <ahughes@redhat.com>

	* examples/gnu/classpath/examples/CORBA/NamingService/Demo.java,
	* examples/gnu/classpath/examples/CORBA/SimpleCommunication/Demo.java,
	* examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/StructureToPass.java,
	* examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/StructureToReturn.java,
	* examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/TreeNode.java,
	* examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/WeThrowThisException.java,
	* examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/WeThrowThisExceptionHelper.java,
	* examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/_DemoTesterImplBase.java,
	* examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/_DemoTesterStub.java,
	* examples/gnu/classpath/examples/CORBA/swing/x5/CanvasWorld.java,
	* examples/gnu/classpath/examples/CORBA/swing/x5/ChatConstants.java,
	* examples/gnu/classpath/examples/CORBA/swing/x5/ClientFrame.java,
	* examples/gnu/classpath/examples/CORBA/swing/x5/Demo.java,
	* examples/gnu/classpath/examples/CORBA/swing/x5/GameManager.java,
	* examples/gnu/classpath/examples/CORBA/swing/x5/GameManagerImpl.java,
	* examples/gnu/classpath/examples/CORBA/swing/x5/IorReader.java,
	* examples/gnu/classpath/examples/CORBA/swing/x5/OrbStarter.java,
	* examples/gnu/classpath/examples/CORBA/swing/x5/Player.java,
	* examples/gnu/classpath/examples/CORBA/swing/x5/PlayerImpl.java,
	* examples/gnu/classpath/examples/CORBA/swing/x5/PlayingDesk.java,
	* examples/gnu/classpath/examples/CORBA/swing/x5/State.java,
	* examples/gnu/classpath/examples/CORBA/swing/x5/X5Server.java,
	* examples/gnu/classpath/examples/CORBA/swing/x5/_GameManagerImpl_Tie.java,
	* examples/gnu/classpath/examples/CORBA/swing/x5/_GameManager_Stub.java,
	* examples/gnu/classpath/examples/CORBA/swing/x5/_PlayerImpl_Tie.java,
	* examples/gnu/classpath/examples/CORBA/swing/x5/_Player_Stub.java,
	* examples/gnu/classpath/examples/awt/AicasGraphicsBenchmark.java,
	* examples/gnu/classpath/examples/awt/Demo.java,
	* examples/gnu/classpath/examples/awt/HintingDemo.java,
	* examples/gnu/classpath/examples/datatransfer/Demo.java,
	* examples/gnu/classpath/examples/html/Demo.java,
	* examples/gnu/classpath/examples/java2d/J2dBenchmark.java,
	* examples/gnu/classpath/examples/java2d/J2dBenchmarkGUI.java,
	* examples/gnu/classpath/examples/java2d/JNIOverhead.java,
	* examples/gnu/classpath/examples/jawt/DemoJAWT.java,
	* examples/gnu/classpath/examples/management/TestClassLoading.java,
	* examples/gnu/classpath/examples/management/TestCompilation.java,
	* examples/gnu/classpath/examples/management/TestGarbageCollector.java,
	* examples/gnu/classpath/examples/management/TestMemory.java,
	* examples/gnu/classpath/examples/management/TestMemoryManager.java,
	* examples/gnu/classpath/examples/management/TestMemoryPool.java,
	* examples/gnu/classpath/examples/management/TestThread.java,
	* examples/gnu/classpath/examples/midi/Demo.java,
	* examples/gnu/classpath/examples/print/Demo.java,
	* examples/gnu/classpath/examples/sound/AudioPlayerSample.java,
	* examples/gnu/classpath/examples/swing/BrowserEditorKit.java,
	* examples/gnu/classpath/examples/swing/ButtonDemo.java,
	* examples/gnu/classpath/examples/swing/ComboBoxDemo.java,
	* examples/gnu/classpath/examples/swing/Demo.java,
	* examples/gnu/classpath/examples/swing/DemoFactory.java,
	* examples/gnu/classpath/examples/swing/DocumentFilterDemo.java,
	* examples/gnu/classpath/examples/swing/FileChooserDemo.java,
	* examples/gnu/classpath/examples/swing/HtmlDemo.java,
	* examples/gnu/classpath/examples/swing/ListDemo.java,
	* examples/gnu/classpath/examples/swing/MetalThemeEditor.java,
	* examples/gnu/classpath/examples/swing/NavigationFilterDemo.java,
	* examples/gnu/classpath/examples/swing/ScrollBarDemo.java,
	* examples/gnu/classpath/examples/swing/SliderDemo.java,
	* examples/gnu/classpath/examples/swing/SpinnerDemo.java,
	* examples/gnu/classpath/examples/swing/TabbedPaneDemo.java,
	* examples/gnu/classpath/examples/swing/TableDemo.java,
	* examples/gnu/classpath/examples/swing/TextAreaDemo.java,
	* examples/gnu/classpath/examples/swing/TextFieldDemo.java,
	* examples/gnu/classpath/examples/swing/TreeDemo.java,
	* external/jsr166/java/util/ArrayDeque.java,
	* external/jsr166/java/util/concurrent/ArrayBlockingQueue.java,
	* external/jsr166/java/util/concurrent/ConcurrentHashMap.java,
	* external/jsr166/java/util/concurrent/ConcurrentSkipListMap.java,
	* external/jsr166/java/util/concurrent/ConcurrentSkipListSet.java,
	* external/jsr166/java/util/concurrent/CopyOnWriteArraySet.java,
	* external/jsr166/java/util/concurrent/CyclicBarrier.java,
	* external/jsr166/java/util/concurrent/DelayQueue.java,
	* external/jsr166/java/util/concurrent/Executors.java,
	* external/jsr166/java/util/concurrent/FutureTask.java,
	* external/jsr166/java/util/concurrent/LinkedBlockingDeque.java,
	* external/jsr166/java/util/concurrent/LinkedBlockingQueue.java,
	* external/jsr166/java/util/concurrent/PriorityBlockingQueue.java,
	* external/jsr166/java/util/concurrent/ScheduledExecutorService.java,
	* external/jsr166/java/util/concurrent/ScheduledThreadPoolExecutor.java,
	* external/jsr166/java/util/concurrent/Semaphore.java,
	* external/jsr166/java/util/concurrent/SynchronousQueue.java,
	* external/jsr166/java/util/concurrent/ThreadPoolExecutor.java,
	* external/jsr166/java/util/concurrent/atomic/AtomicInteger.java,
	* external/jsr166/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java,
	* external/jsr166/java/util/concurrent/atomic/AtomicLong.java,
	* external/jsr166/java/util/concurrent/atomic/AtomicLongFieldUpdater.java,
	* external/jsr166/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java,
	* external/jsr166/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java,
	* external/jsr166/java/util/concurrent/locks/AbstractQueuedSynchronizer.java,
	* external/jsr166/java/util/concurrent/locks/ReentrantReadWriteLock.java,
	* external/relaxngDatatype/org/relaxng/datatype/Datatype.java,
	* external/relaxngDatatype/org/relaxng/datatype/DatatypeBuilder.java,
	* external/relaxngDatatype/org/relaxng/datatype/DatatypeException.java,
	* external/relaxngDatatype/org/relaxng/datatype/DatatypeLibrary.java,
	* external/relaxngDatatype/org/relaxng/datatype/DatatypeLibraryFactory.java,
	* external/relaxngDatatype/org/relaxng/datatype/DatatypeStreamingValidator.java,
	* external/relaxngDatatype/org/relaxng/datatype/ValidationContext.java,
	* external/relaxngDatatype/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java,
	* external/relaxngDatatype/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java,
	* external/relaxngDatatype/org/relaxng/datatype/helpers/StreamingValidatorImpl.java,
	* external/sax/org/xml/sax/AttributeList.java,
	* external/sax/org/xml/sax/Attributes.java,
	* external/sax/org/xml/sax/ContentHandler.java,
	* external/sax/org/xml/sax/DTDHandler.java,
	* external/sax/org/xml/sax/DocumentHandler.java,
	* external/sax/org/xml/sax/EntityResolver.java,
	* external/sax/org/xml/sax/ErrorHandler.java,
	* external/sax/org/xml/sax/HandlerBase.java,
	* external/sax/org/xml/sax/InputSource.java,
	* external/sax/org/xml/sax/Locator.java,
	* external/sax/org/xml/sax/Parser.java,
	* external/sax/org/xml/sax/SAXException.java,
	* external/sax/org/xml/sax/SAXNotRecognizedException.java,
	* external/sax/org/xml/sax/SAXNotSupportedException.java,
	* external/sax/org/xml/sax/SAXParseException.java,
	* external/sax/org/xml/sax/XMLReader.java,
	* external/sax/org/xml/sax/ext/Attributes2.java,
	* external/sax/org/xml/sax/ext/Attributes2Impl.java,
	* external/sax/org/xml/sax/ext/DeclHandler.java,
	* external/sax/org/xml/sax/ext/DefaultHandler2.java,
	* external/sax/org/xml/sax/ext/EntityResolver2.java,
	* external/sax/org/xml/sax/ext/LexicalHandler.java,
	* external/sax/org/xml/sax/ext/Locator2.java,
	* external/sax/org/xml/sax/ext/Locator2Impl.java,
	* external/sax/org/xml/sax/helpers/AttributeListImpl.java,
	* external/sax/org/xml/sax/helpers/AttributesImpl.java,
	* external/sax/org/xml/sax/helpers/DefaultHandler.java,
	* external/sax/org/xml/sax/helpers/LocatorImpl.java,
	* external/sax/org/xml/sax/helpers/NamespaceSupport.java,
	* external/sax/org/xml/sax/helpers/NewInstance.java,
	* external/sax/org/xml/sax/helpers/ParserAdapter.java,
	* external/sax/org/xml/sax/helpers/ParserFactory.java,
	* external/sax/org/xml/sax/helpers/XMLFilterImpl.java,
	* external/sax/org/xml/sax/helpers/XMLReaderAdapter.java,
	* external/sax/org/xml/sax/helpers/XMLReaderFactory.java,
	* external/w3c_dom/org/w3c/dom/Attr.java,
	* external/w3c_dom/org/w3c/dom/CDATASection.java,
	* external/w3c_dom/org/w3c/dom/CharacterData.java,
	* external/w3c_dom/org/w3c/dom/Comment.java,
	* external/w3c_dom/org/w3c/dom/DOMConfiguration.java,
	* external/w3c_dom/org/w3c/dom/DOMError.java,
	* external/w3c_dom/org/w3c/dom/DOMErrorHandler.java,
	* external/w3c_dom/org/w3c/dom/DOMException.java,
	* external/w3c_dom/org/w3c/dom/DOMImplementation.java,
	* external/w3c_dom/org/w3c/dom/DOMImplementationList.java,
	* external/w3c_dom/org/w3c/dom/DOMImplementationSource.java,
	* external/w3c_dom/org/w3c/dom/DOMLocator.java,
	* external/w3c_dom/org/w3c/dom/DOMStringList.java,
	* external/w3c_dom/org/w3c/dom/Document.java,
	* external/w3c_dom/org/w3c/dom/DocumentFragment.java,
	* external/w3c_dom/org/w3c/dom/DocumentType.java,
	* external/w3c_dom/org/w3c/dom/Element.java,
	* external/w3c_dom/org/w3c/dom/Entity.java,
	* external/w3c_dom/org/w3c/dom/EntityReference.java,
	* external/w3c_dom/org/w3c/dom/NameList.java,
	* external/w3c_dom/org/w3c/dom/NamedNodeMap.java,
	* external/w3c_dom/org/w3c/dom/Node.java,
	* external/w3c_dom/org/w3c/dom/NodeList.java,
	* external/w3c_dom/org/w3c/dom/Notation.java,
	* external/w3c_dom/org/w3c/dom/ProcessingInstruction.java,
	* external/w3c_dom/org/w3c/dom/Text.java,
	* external/w3c_dom/org/w3c/dom/TypeInfo.java,
	* external/w3c_dom/org/w3c/dom/UserDataHandler.java,
	* external/w3c_dom/org/w3c/dom/bootstrap/DOMImplementationRegistry.java,
	* external/w3c_dom/org/w3c/dom/css/CSS2Properties.java,
	* external/w3c_dom/org/w3c/dom/css/CSSCharsetRule.java,
	* external/w3c_dom/org/w3c/dom/css/CSSFontFaceRule.java,
	* external/w3c_dom/org/w3c/dom/css/CSSImportRule.java,
	* external/w3c_dom/org/w3c/dom/css/CSSMediaRule.java,
	* external/w3c_dom/org/w3c/dom/css/CSSPageRule.java,
	* external/w3c_dom/org/w3c/dom/css/CSSPrimitiveValue.java,
	* external/w3c_dom/org/w3c/dom/css/CSSRule.java,
	* external/w3c_dom/org/w3c/dom/css/CSSRuleList.java,
	* external/w3c_dom/org/w3c/dom/css/CSSStyleDeclaration.java,
	* external/w3c_dom/org/w3c/dom/css/CSSStyleRule.java,
	* external/w3c_dom/org/w3c/dom/css/CSSStyleSheet.java,
	* external/w3c_dom/org/w3c/dom/css/CSSUnknownRule.java,
	* external/w3c_dom/org/w3c/dom/css/CSSValue.java,
	* external/w3c_dom/org/w3c/dom/css/CSSValueList.java,
	* external/w3c_dom/org/w3c/dom/css/Counter.java,
	* external/w3c_dom/org/w3c/dom/css/DOMImplementationCSS.java,
	* external/w3c_dom/org/w3c/dom/css/DocumentCSS.java,
	* external/w3c_dom/org/w3c/dom/css/ElementCSSInlineStyle.java,
	* external/w3c_dom/org/w3c/dom/css/RGBColor.java,
	* external/w3c_dom/org/w3c/dom/css/Rect.java,
	* external/w3c_dom/org/w3c/dom/css/ViewCSS.java,
	* external/w3c_dom/org/w3c/dom/events/DocumentEvent.java,
	* external/w3c_dom/org/w3c/dom/events/Event.java,
	* external/w3c_dom/org/w3c/dom/events/EventException.java,
	* external/w3c_dom/org/w3c/dom/events/EventListener.java,
	* external/w3c_dom/org/w3c/dom/events/EventTarget.java,
	* external/w3c_dom/org/w3c/dom/events/MouseEvent.java,
	* external/w3c_dom/org/w3c/dom/events/MutationEvent.java,
	* external/w3c_dom/org/w3c/dom/events/UIEvent.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLAnchorElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLAppletElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLAreaElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLBRElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLBaseElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLBaseFontElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLBodyElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLButtonElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLCollection.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLDListElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLDirectoryElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLDivElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLDocument.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLFieldSetElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLFontElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLFormElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLFrameElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLFrameSetElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLHRElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLHeadElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLHeadingElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLHtmlElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLIFrameElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLImageElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLInputElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLIsIndexElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLLIElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLLabelElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLLegendElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLLinkElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLMapElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLMenuElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLMetaElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLModElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLOListElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLObjectElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLOptGroupElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLOptionElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLOptionsCollection.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLParagraphElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLParamElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLPreElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLQuoteElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLScriptElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLSelectElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLStyleElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLTableCaptionElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLTableCellElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLTableColElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLTableElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLTableRowElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLTableSectionElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLTextAreaElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLTitleElement.java,
	* external/w3c_dom/org/w3c/dom/html2/HTMLUListElement.java,
	* external/w3c_dom/org/w3c/dom/ls/DOMImplementationLS.java,
	* external/w3c_dom/org/w3c/dom/ls/LSException.java,
	* external/w3c_dom/org/w3c/dom/ls/LSInput.java,
	* external/w3c_dom/org/w3c/dom/ls/LSLoadEvent.java,
	* external/w3c_dom/org/w3c/dom/ls/LSOutput.java,
	* external/w3c_dom/org/w3c/dom/ls/LSParser.java,
	* external/w3c_dom/org/w3c/dom/ls/LSParserFilter.java,
	* external/w3c_dom/org/w3c/dom/ls/LSProgressEvent.java,
	* external/w3c_dom/org/w3c/dom/ls/LSResourceResolver.java,
	* external/w3c_dom/org/w3c/dom/ls/LSSerializer.java,
	* external/w3c_dom/org/w3c/dom/ls/LSSerializerFilter.java,
	* external/w3c_dom/org/w3c/dom/ranges/DocumentRange.java,
	* external/w3c_dom/org/w3c/dom/ranges/Range.java,
	* external/w3c_dom/org/w3c/dom/ranges/RangeException.java,
	* external/w3c_dom/org/w3c/dom/stylesheets/DocumentStyle.java,
	* external/w3c_dom/org/w3c/dom/stylesheets/LinkStyle.java,
	* external/w3c_dom/org/w3c/dom/stylesheets/MediaList.java,
	* external/w3c_dom/org/w3c/dom/stylesheets/StyleSheet.java,
	* external/w3c_dom/org/w3c/dom/stylesheets/StyleSheetList.java,
	* external/w3c_dom/org/w3c/dom/traversal/DocumentTraversal.java,
	* external/w3c_dom/org/w3c/dom/traversal/NodeFilter.java,
	* external/w3c_dom/org/w3c/dom/traversal/NodeIterator.java,
	* external/w3c_dom/org/w3c/dom/traversal/TreeWalker.java,
	* external/w3c_dom/org/w3c/dom/views/AbstractView.java,
	* external/w3c_dom/org/w3c/dom/views/DocumentView.java,
	* external/w3c_dom/org/w3c/dom/xpath/XPathEvaluator.java,
	* external/w3c_dom/org/w3c/dom/xpath/XPathException.java,
	* external/w3c_dom/org/w3c/dom/xpath/XPathExpression.java,
	* external/w3c_dom/org/w3c/dom/xpath/XPathNSResolver.java,
	* external/w3c_dom/org/w3c/dom/xpath/XPathNamespace.java,
	* external/w3c_dom/org/w3c/dom/xpath/XPathResult.java,
	* gnu/CORBA/BigDecimalHelper.java,
	* gnu/CORBA/CDR/AbstractCdrInput.java,
	* gnu/CORBA/CDR/AbstractCdrOutput.java,
	* gnu/CORBA/CDR/AbstractDataInput.java,
	* gnu/CORBA/CDR/AbstractDataOutput.java,
	* gnu/CORBA/CDR/AligningInput.java,
	* gnu/CORBA/CDR/AligningOutput.java,
	* gnu/CORBA/CDR/ArrayValueHelper.java,
	* gnu/CORBA/CDR/BigEndianInputStream.java,
	* gnu/CORBA/CDR/BigEndianOutputStream.java,
	* gnu/CORBA/CDR/BufferedCdrOutput.java,
	* gnu/CORBA/CDR/BufferredCdrInput.java,
	* gnu/CORBA/CDR/HeadlessInput.java,
	* gnu/CORBA/CDR/IDLTypeHelper.java,
	* gnu/CORBA/CDR/LittleEndianOutputStream.java,
	* gnu/CORBA/CDR/UnknownExceptionCtxHandler.java,
	* gnu/CORBA/CDR/VMVio.java,
	* gnu/CORBA/CDR/Vio.java,
	* gnu/CORBA/CDR/gnuRuntime.java,
	* gnu/CORBA/CDR/gnuValueStream.java,
	* gnu/CORBA/CdrEncapsCodecImpl.java,
	* gnu/CORBA/CollocatedOrbs.java,
	* gnu/CORBA/Connected_objects.java,
	* gnu/CORBA/DefaultSocketFactory.java,
	* gnu/CORBA/DuplicateNameHolder.java,
	* gnu/CORBA/DynAn/AbstractAny.java,
	* gnu/CORBA/DynAn/DivideableAny.java,
	* gnu/CORBA/DynAn/NameValuePairHolder.java,
	* gnu/CORBA/DynAn/RecordAny.java,
	* gnu/CORBA/DynAn/ValueChangeListener.java,
	* gnu/CORBA/DynAn/gnuDynAny.java,
	* gnu/CORBA/DynAn/gnuDynAnyFactory.java,
	* gnu/CORBA/DynAn/gnuDynArray.java,
	* gnu/CORBA/DynAn/gnuDynEnum.java,
	* gnu/CORBA/DynAn/gnuDynFixed.java,
	* gnu/CORBA/DynAn/gnuDynSequence.java,
	* gnu/CORBA/DynAn/gnuDynUnion.java,
	* gnu/CORBA/DynAn/gnuDynValue.java,
	* gnu/CORBA/DynAn/gnuDynValueBox.java,
	* gnu/CORBA/DynAnySeqHolder.java,
	* gnu/CORBA/EmptyExceptionHolder.java,
	* gnu/CORBA/ForwardRequestHelper.java,
	* gnu/CORBA/GIOP/CharSets_OSF.java,
	* gnu/CORBA/GIOP/CloseMessage.java,
	* gnu/CORBA/GIOP/ErrorMessage.java,
	* gnu/CORBA/GIOP/MessageHeader.java,
	* gnu/CORBA/GIOP/ServiceContext.java,
	* gnu/CORBA/GIOP/v1_2/RequestHeader.java,
	* gnu/CORBA/GeneralHolder.java,
	* gnu/CORBA/IOR.java,
	* gnu/CORBA/Interceptor/ClientRequestInterceptors.java,
	* gnu/CORBA/Interceptor/ForwardRequestHolder.java,
	* gnu/CORBA/Interceptor/IORInterceptors.java,
	* gnu/CORBA/Interceptor/Registrator.java,
	* gnu/CORBA/Interceptor/ServerRequestInterceptors.java,
	* gnu/CORBA/Interceptor/gnuClientRequestInfo.java,
	* gnu/CORBA/Interceptor/gnuIcCurrent.java,
	* gnu/CORBA/Interceptor/gnuIorInfo.java,
	* gnu/CORBA/Interceptor/gnuServerRequestInfo.java,
	* gnu/CORBA/IorDelegate.java,
	* gnu/CORBA/IorObject.java,
	* gnu/CORBA/Minor.java,
	* gnu/CORBA/NameDynAnyPairHolder.java,
	* gnu/CORBA/NameDynAnyPairSeqHolder.java,
	* gnu/CORBA/NameValuePairHolder.java,
	* gnu/CORBA/NameValuePairSeqHolder.java,
	* gnu/CORBA/NamingService/NameParser.java,
	* gnu/CORBA/NamingService/NamingMap.java,
	* gnu/CORBA/NamingService/NamingServiceTransient.java,
	* gnu/CORBA/NamingService/TransientContext.java,
	* gnu/CORBA/ObjectCreator.java,
	* gnu/CORBA/OrbFocused.java,
	* gnu/CORBA/OrbFunctional.java,
	* gnu/CORBA/OrbRestricted.java,
	* gnu/CORBA/Poa/AOM.java,
	* gnu/CORBA/Poa/AccessiblePolicy.java,
	* gnu/CORBA/Poa/DynamicImpHandler.java,
	* gnu/CORBA/Poa/ForwardRequestHolder.java,
	* gnu/CORBA/Poa/ForwardedServant.java,
	* gnu/CORBA/Poa/InvalidPolicyHolder.java,
	* gnu/CORBA/Poa/LocalDelegate.java,
	* gnu/CORBA/Poa/LocalRequest.java,
	* gnu/CORBA/Poa/LocalServerRequest.java,
	* gnu/CORBA/Poa/ORB_1_4.java,
	* gnu/CORBA/Poa/ServantDelegateImpl.java,
	* gnu/CORBA/Poa/StandardPolicies.java,
	* gnu/CORBA/Poa/gnuAdapterActivator.java,
	* gnu/CORBA/Poa/gnuForwardRequest.java,
	* gnu/CORBA/Poa/gnuIdAssignmentPolicy.java,
	* gnu/CORBA/Poa/gnuIdUniquenessPolicy.java,
	* gnu/CORBA/Poa/gnuImplicitActivationPolicy.java,
	* gnu/CORBA/Poa/gnuLifespanPolicy.java,
	* gnu/CORBA/Poa/gnuPOA.java,
	* gnu/CORBA/Poa/gnuPOAManager.java,
	* gnu/CORBA/Poa/gnuPoaCurrent.java,
	* gnu/CORBA/Poa/gnuRequestProcessingPolicy.java,
	* gnu/CORBA/Poa/gnuServantObject.java,
	* gnu/CORBA/Poa/gnuServantRetentionPolicy.java,
	* gnu/CORBA/Poa/gnuThreadPolicy.java,
	* gnu/CORBA/ServiceRequestAdapter.java,
	* gnu/CORBA/SetOverrideTypeHolder.java,
	* gnu/CORBA/SimpleDelegate.java,
	* gnu/CORBA/SocketRepository.java,
	* gnu/CORBA/StreamHolder.java,
	* gnu/CORBA/TypeCodeHelper.java,
	* gnu/CORBA/TypeKindNamer.java,
	* gnu/CORBA/Version.java,
	* gnu/CORBA/_PolicyImplBase.java,
	* gnu/CORBA/gnuAny.java,
	* gnu/CORBA/gnuCodecFactory.java,
	* gnu/CORBA/gnuEnvironment.java,
	* gnu/CORBA/gnuRequest.java,
	* gnu/CORBA/gnuValueHolder.java,
	* gnu/CORBA/interfaces/SocketFactory.java,
	* gnu/CORBA/typecodes/AliasTypeCode.java,
	* gnu/CORBA/typecodes/ArrayTypeCode.java,
	* gnu/CORBA/typecodes/FixedTypeCode.java,
	* gnu/CORBA/typecodes/GeneralTypeCode.java,
	* gnu/CORBA/typecodes/PrimitiveTypeCode.java,
	* gnu/CORBA/typecodes/RecordTypeCode.java,
	* gnu/CORBA/typecodes/RecursiveTypeCode.java,
	* gnu/CORBA/typecodes/StringTypeCode.java,
	* gnu/classpath/Pair.java,
	* gnu/classpath/Pointer.java,
	* gnu/classpath/Pointer32.java,
	* gnu/classpath/Pointer64.java,
	* gnu/classpath/ServiceFactory.java,
	* gnu/classpath/ServiceProviderLoadingAction.java,
	* gnu/classpath/SystemProperties.java,
	* gnu/classpath/debug/Component.java,
	* gnu/classpath/debug/PreciseFilter.java,
	* gnu/classpath/debug/SystemLogger.java,
	* gnu/classpath/debug/TeeInputStream.java,
	* gnu/classpath/debug/TeeReader.java,
	* gnu/classpath/jdwp/Jdwp.java,
	* gnu/classpath/jdwp/JdwpConstants.java,
	* gnu/classpath/jdwp/event/BreakpointEvent.java,
	* gnu/classpath/jdwp/event/ClassPrepareEvent.java,
	* gnu/classpath/jdwp/event/ClassUnloadEvent.java,
	* gnu/classpath/jdwp/event/Event.java,
	* gnu/classpath/jdwp/event/EventManager.java,
	* gnu/classpath/jdwp/event/EventRequest.java,
	* gnu/classpath/jdwp/event/ExceptionEvent.java,
	* gnu/classpath/jdwp/event/MethodEntryEvent.java,
	* gnu/classpath/jdwp/event/MethodExitEvent.java,
	* gnu/classpath/jdwp/event/SingleStepEvent.java,
	* gnu/classpath/jdwp/event/ThreadEndEvent.java,
	* gnu/classpath/jdwp/event/VmDeathEvent.java,
	* gnu/classpath/jdwp/event/VmInitEvent.java,
	* gnu/classpath/jdwp/event/filters/ClassExcludeFilter.java,
	* gnu/classpath/jdwp/event/filters/ClassMatchFilter.java,
	* gnu/classpath/jdwp/event/filters/ClassOnlyFilter.java,
	* gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java,
	* gnu/classpath/jdwp/event/filters/FieldOnlyFilter.java,
	* gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.java,
	* gnu/classpath/jdwp/event/filters/StepFilter.java,
	* gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java,
	* gnu/classpath/jdwp/exception/InvalidClassException.java,
	* gnu/classpath/jdwp/exception/InvalidClassLoaderException.java,
	* gnu/classpath/jdwp/exception/InvalidEventTypeException.java,
	* gnu/classpath/jdwp/exception/InvalidFieldException.java,
	* gnu/classpath/jdwp/exception/InvalidFrameException.java,
	* gnu/classpath/jdwp/exception/InvalidLocationException.java,
	* gnu/classpath/jdwp/exception/InvalidMethodException.java,
	* gnu/classpath/jdwp/exception/InvalidObjectException.java,
	* gnu/classpath/jdwp/exception/InvalidSlotException.java,
	* gnu/classpath/jdwp/exception/InvalidStringException.java,
	* gnu/classpath/jdwp/exception/InvalidThreadException.java,
	* gnu/classpath/jdwp/exception/InvalidThreadGroupException.java,
	* gnu/classpath/jdwp/exception/NativeMethodException.java,
	* gnu/classpath/jdwp/exception/NotImplementedException.java,
	* gnu/classpath/jdwp/id/JdwpId.java,
	* gnu/classpath/jdwp/id/NullObjectId.java,
	* gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.java,
	* gnu/classpath/jdwp/processor/ArrayTypeCommandSet.java,
	* gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.java,
	* gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.java,
	* gnu/classpath/jdwp/processor/ClassTypeCommandSet.java,
	* gnu/classpath/jdwp/processor/CommandSet.java,
	* gnu/classpath/jdwp/processor/EventRequestCommandSet.java,
	* gnu/classpath/jdwp/processor/FieldCommandSet.java,
	* gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.java,
	* gnu/classpath/jdwp/processor/MethodCommandSet.java,
	* gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java,
	* gnu/classpath/jdwp/processor/PacketProcessor.java,
	* gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java,
	* gnu/classpath/jdwp/processor/StackFrameCommandSet.java,
	* gnu/classpath/jdwp/processor/StringReferenceCommandSet.java,
	* gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.java,
	* gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java,
	* gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java,
	* gnu/classpath/jdwp/transport/JdwpCommandPacket.java,
	* gnu/classpath/jdwp/transport/JdwpConnection.java,
	* gnu/classpath/jdwp/transport/JdwpPacket.java,
	* gnu/classpath/jdwp/transport/JdwpReplyPacket.java,
	* gnu/classpath/jdwp/transport/SocketTransport.java,
	* gnu/classpath/jdwp/transport/TransportFactory.java,
	* gnu/classpath/jdwp/util/JdwpString.java,
	* gnu/classpath/jdwp/util/LineTable.java,
	* gnu/classpath/jdwp/util/Location.java,
	* gnu/classpath/jdwp/util/MethodResult.java,
	* gnu/classpath/jdwp/util/MonitorInfo.java,
	* gnu/classpath/jdwp/util/Signature.java,
	* gnu/classpath/jdwp/util/VariableTable.java,
	* gnu/classpath/jdwp/value/ArrayValue.java,
	* gnu/classpath/jdwp/value/BooleanValue.java,
	* gnu/classpath/jdwp/value/ByteValue.java,
	* gnu/classpath/jdwp/value/CharValue.java,
	* gnu/classpath/jdwp/value/DoubleValue.java,
	* gnu/classpath/jdwp/value/FloatValue.java,
	* gnu/classpath/jdwp/value/IntValue.java,
	* gnu/classpath/jdwp/value/LongValue.java,
	* gnu/classpath/jdwp/value/ObjectValue.java,
	* gnu/classpath/jdwp/value/ShortValue.java,
	* gnu/classpath/jdwp/value/StringValue.java,
	* gnu/classpath/jdwp/value/Value.java,
	* gnu/classpath/jdwp/value/ValueFactory.java,
	* gnu/classpath/jdwp/value/VoidValue.java,
	* gnu/classpath/toolkit/DefaultDaemonThreadFactory.java,
	* gnu/java/awt/AWTUtilities.java,
	* gnu/java/awt/BitMaskExtent.java,
	* gnu/java/awt/BitwiseXORComposite.java,
	* gnu/java/awt/Buffers.java,
	* gnu/java/awt/ClasspathGraphicsEnvironment.java,
	* gnu/java/awt/ClasspathToolkit.java,
	* gnu/java/awt/ComponentDataBlitOp.java,
	* gnu/java/awt/EmbeddedWindow.java,
	* gnu/java/awt/GradientPaintContext.java,
	* gnu/java/awt/color/CieXyzConverter.java,
	* gnu/java/awt/color/ClutProfileConverter.java,
	* gnu/java/awt/color/ColorLookUpTable.java,
	* gnu/java/awt/color/GrayProfileConverter.java,
	* gnu/java/awt/color/GrayScaleConverter.java,
	* gnu/java/awt/color/LinearRGBConverter.java,
	* gnu/java/awt/color/ProfileHeader.java,
	* gnu/java/awt/color/RgbProfileConverter.java,
	* gnu/java/awt/color/SrgbConverter.java,
	* gnu/java/awt/color/ToneReproductionCurve.java,
	* gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.java,
	* gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java,
	* gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java,
	* gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.java,
	* gnu/java/awt/font/FontDelegate.java,
	* gnu/java/awt/font/FontFactory.java,
	* gnu/java/awt/font/GNUGlyphVector.java,
	* gnu/java/awt/font/OpenTypeFontPeer.java,
	* gnu/java/awt/font/autofit/GlyphHints.java,
	* gnu/java/awt/font/autofit/Latin.java,
	* gnu/java/awt/font/autofit/Utils.java,
	* gnu/java/awt/font/opentype/CharGlyphMap.java,
	* gnu/java/awt/font/opentype/GlyphNamer.java,
	* gnu/java/awt/font/opentype/MacResourceFork.java,
	* gnu/java/awt/font/opentype/NameDecoder.java,
	* gnu/java/awt/font/opentype/OpenTypeFont.java,
	* gnu/java/awt/font/opentype/OpenTypeFontFactory.java,
	* gnu/java/awt/font/opentype/truetype/GlyphLoader.java,
	* gnu/java/awt/font/opentype/truetype/GlyphLocator.java,
	* gnu/java/awt/font/opentype/truetype/GlyphMeasurer.java,
	* gnu/java/awt/font/opentype/truetype/Point.java,
	* gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java,
	* gnu/java/awt/font/opentype/truetype/VirtualMachine.java,
	* gnu/java/awt/font/opentype/truetype/Zone.java,
	* gnu/java/awt/font/opentype/truetype/ZonePathIterator.java,
	* gnu/java/awt/image/AsyncImage.java,
	* gnu/java/awt/image/ImageConverter.java,
	* gnu/java/awt/image/ImageDecoder.java,
	* gnu/java/awt/image/XBMDecoder.java,
	* gnu/java/awt/java2d/AbstractGraphics2D.java,
	* gnu/java/awt/java2d/AlphaCompositeContext.java,
	* gnu/java/awt/java2d/CubicSegment.java,
	* gnu/java/awt/java2d/LineSegment.java,
	* gnu/java/awt/java2d/PixelCoverage.java,
	* gnu/java/awt/java2d/QuadSegment.java,
	* gnu/java/awt/java2d/RasterGraphics.java,
	* gnu/java/awt/java2d/ScanlineConverter.java,
	* gnu/java/awt/java2d/ScanlineCoverage.java,
	* gnu/java/awt/java2d/Segment.java,
	* gnu/java/awt/java2d/TexturePaintContext.java,
	* gnu/java/awt/peer/ClasspathDesktopPeer.java,
	* gnu/java/awt/peer/ClasspathFontPeer.java,
	* gnu/java/awt/peer/GLightweightPeer.java,
	* gnu/java/awt/peer/GnomeDesktopPeer.java,
	* gnu/java/awt/peer/KDEDesktopPeer.java,
	* gnu/java/awt/peer/gtk/AsyncImage.java,
	* gnu/java/awt/peer/gtk/BufferedImageGraphics.java,
	* gnu/java/awt/peer/gtk/CairoGraphics2D.java,
	* gnu/java/awt/peer/gtk/CairoSurface.java,
	* gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java,
	* gnu/java/awt/peer/gtk/ComponentGraphics.java,
	* gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java,
	* gnu/java/awt/peer/gtk/FreetypeGlyphVector.java,
	* gnu/java/awt/peer/gtk/GdkFontPeer.java,
	* gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.java,
	* gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java,
	* gnu/java/awt/peer/gtk/GdkPixbufDecoder.java,
	* gnu/java/awt/peer/gtk/GdkRobotPeer.java,
	* gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java,
	* gnu/java/awt/peer/gtk/GtkButtonPeer.java,
	* gnu/java/awt/peer/gtk/GtkCheckboxPeer.java,
	* gnu/java/awt/peer/gtk/GtkChoicePeer.java,
	* gnu/java/awt/peer/gtk/GtkClipboard.java,
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	* gnu/java/awt/peer/gtk/GtkContainerPeer.java,
	* gnu/java/awt/peer/gtk/GtkCursor.java,
	* gnu/java/awt/peer/gtk/GtkDialogPeer.java,
	* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java,
	* gnu/java/awt/peer/gtk/GtkFramePeer.java,
	* gnu/java/awt/peer/gtk/GtkGenericPeer.java,
	* gnu/java/awt/peer/gtk/GtkImage.java,
	* gnu/java/awt/peer/gtk/GtkImageConsumer.java,
	* gnu/java/awt/peer/gtk/GtkLabelPeer.java,
	* gnu/java/awt/peer/gtk/GtkListPeer.java,
	* gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java,
	* gnu/java/awt/peer/gtk/GtkMenuPeer.java,
	* gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java,
	* gnu/java/awt/peer/gtk/GtkPanelPeer.java,
	* gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java,
	* gnu/java/awt/peer/gtk/GtkScrollbarPeer.java,
	* gnu/java/awt/peer/gtk/GtkSelection.java,
	* gnu/java/awt/peer/gtk/GtkToolkit.java,
	* gnu/java/awt/peer/gtk/GtkVolatileImage.java,
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	* gnu/java/awt/peer/gtk/VolatileImageGraphics.java,
	* gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java,
	* gnu/java/awt/peer/qt/MainQtThread.java,
	* gnu/java/awt/peer/qt/QMatrix.java,
	* gnu/java/awt/peer/qt/QPainterPath.java,
	* gnu/java/awt/peer/qt/QPen.java,
	* gnu/java/awt/peer/qt/QtAudioClip.java,
	* gnu/java/awt/peer/qt/QtButtonPeer.java,
	* gnu/java/awt/peer/qt/QtCheckboxPeer.java,
	* gnu/java/awt/peer/qt/QtChoicePeer.java,
	* gnu/java/awt/peer/qt/QtComponentGraphics.java,
	* gnu/java/awt/peer/qt/QtComponentPeer.java,
	* gnu/java/awt/peer/qt/QtContainerPeer.java,
	* gnu/java/awt/peer/qt/QtDialogPeer.java,
	* gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.java,
	* gnu/java/awt/peer/qt/QtFileDialogPeer.java,
	* gnu/java/awt/peer/qt/QtFontMetrics.java,
	* gnu/java/awt/peer/qt/QtFontPeer.java,
	* gnu/java/awt/peer/qt/QtFramePeer.java,
	* gnu/java/awt/peer/qt/QtGraphics.java,
	* gnu/java/awt/peer/qt/QtGraphicsEnvironment.java,
	* gnu/java/awt/peer/qt/QtImage.java,
	* gnu/java/awt/peer/qt/QtImageConsumer.java,
	* gnu/java/awt/peer/qt/QtImageDirectGraphics.java,
	* gnu/java/awt/peer/qt/QtImageGraphics.java,
	* gnu/java/awt/peer/qt/QtLabelPeer.java,
	* gnu/java/awt/peer/qt/QtListPeer.java,
	* gnu/java/awt/peer/qt/QtMenuBarPeer.java,
	* gnu/java/awt/peer/qt/QtMenuComponentPeer.java,
	* gnu/java/awt/peer/qt/QtMenuItemPeer.java,
	* gnu/java/awt/peer/qt/QtMenuPeer.java,
	* gnu/java/awt/peer/qt/QtPanelPeer.java,
	* gnu/java/awt/peer/qt/QtPopupMenuPeer.java,
	* gnu/java/awt/peer/qt/QtRepaintThread.java,
	* gnu/java/awt/peer/qt/QtScreenDevice.java,
	* gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.java,
	* gnu/java/awt/peer/qt/QtScrollPanePeer.java,
	* gnu/java/awt/peer/qt/QtScrollbarPeer.java,
	* gnu/java/awt/peer/qt/QtTextAreaPeer.java,
	* gnu/java/awt/peer/qt/QtTextFieldPeer.java,
	* gnu/java/awt/peer/qt/QtToolkit.java,
	* gnu/java/awt/peer/qt/QtVolatileImage.java,
	* gnu/java/awt/peer/qt/QtWindowPeer.java,
	* gnu/java/awt/peer/swing/SwingButtonPeer.java,
	* gnu/java/awt/peer/swing/SwingCheckboxPeer.java,
	* gnu/java/awt/peer/swing/SwingComponent.java,
	* gnu/java/awt/peer/swing/SwingComponentPeer.java,
	* gnu/java/awt/peer/swing/SwingContainerPeer.java,
	* gnu/java/awt/peer/swing/SwingLabelPeer.java,
	* gnu/java/awt/peer/swing/SwingListPeer.java,
	* gnu/java/awt/peer/swing/SwingMenuItemPeer.java,
	* gnu/java/awt/peer/swing/SwingMenuPeer.java,
	* gnu/java/awt/peer/swing/SwingTextAreaPeer.java,
	* gnu/java/awt/peer/swing/SwingTextFieldPeer.java,
	* gnu/java/awt/peer/x/GLGraphics.java,
	* gnu/java/awt/peer/x/KeyboardMapping.java,
	* gnu/java/awt/peer/x/XEventPump.java,
	* gnu/java/awt/peer/x/XFontPeer.java,
	* gnu/java/awt/peer/x/XFramePeer.java,
	* gnu/java/awt/peer/x/XGraphics2D.java,
	* gnu/java/awt/peer/x/XGraphicsConfiguration.java,
	* gnu/java/awt/peer/x/XGraphicsDevice.java,
	* gnu/java/awt/peer/x/XGraphicsEnvironment.java,
	* gnu/java/awt/peer/x/XImage.java,
	* gnu/java/awt/peer/x/XToolkit.java,
	* gnu/java/awt/peer/x/XWindowPeer.java,
	* gnu/java/awt/print/JavaPrinterGraphics.java,
	* gnu/java/awt/print/JavaPrinterJob.java,
	* gnu/java/awt/print/PostScriptGraphics2D.java,
	* gnu/java/awt/print/SpooledDocument.java,
	* gnu/java/beans/BeanInfoEmbryo.java,
	* gnu/java/beans/DefaultExceptionListener.java,
	* gnu/java/beans/ExplicitBeanInfo.java,
	* gnu/java/beans/IntrospectionIncubator.java,
	* gnu/java/beans/decoder/AbstractContext.java,
	* gnu/java/beans/decoder/AbstractCreatableObjectContext.java,
	* gnu/java/beans/decoder/AbstractElementHandler.java,
	* gnu/java/beans/decoder/AbstractObjectContext.java,
	* gnu/java/beans/decoder/ArrayContext.java,
	* gnu/java/beans/decoder/ArrayHandler.java,
	* gnu/java/beans/decoder/AssemblyException.java,
	* gnu/java/beans/decoder/BooleanHandler.java,
	* gnu/java/beans/decoder/ByteHandler.java,
	* gnu/java/beans/decoder/CharHandler.java,
	* gnu/java/beans/decoder/ClassHandler.java,
	* gnu/java/beans/decoder/ConstructorContext.java,
	* gnu/java/beans/decoder/Context.java,
	* gnu/java/beans/decoder/DecoderContext.java,
	* gnu/java/beans/decoder/DoubleHandler.java,
	* gnu/java/beans/decoder/DummyContext.java,
	* gnu/java/beans/decoder/DummyHandler.java,
	* gnu/java/beans/decoder/ElementHandler.java,
	* gnu/java/beans/decoder/FloatHandler.java,
	* gnu/java/beans/decoder/GrowableArrayContext.java,
	* gnu/java/beans/decoder/IndexContext.java,
	* gnu/java/beans/decoder/IntHandler.java,
	* gnu/java/beans/decoder/JavaHandler.java,
	* gnu/java/beans/decoder/LongHandler.java,
	* gnu/java/beans/decoder/MethodContext.java,
	* gnu/java/beans/decoder/MethodFinder.java,
	* gnu/java/beans/decoder/NullHandler.java,
	* gnu/java/beans/decoder/ObjectContext.java,
	* gnu/java/beans/decoder/ObjectHandler.java,
	* gnu/java/beans/decoder/PersistenceParser.java,
	* gnu/java/beans/decoder/PropertyContext.java,
	* gnu/java/beans/decoder/ShortHandler.java,
	* gnu/java/beans/decoder/SimpleHandler.java,
	* gnu/java/beans/decoder/StaticMethodContext.java,
	* gnu/java/beans/decoder/StringHandler.java,
	* gnu/java/beans/decoder/VoidHandler.java,
	* gnu/java/beans/editors/ColorEditor.java,
	* gnu/java/beans/editors/FontEditor.java,
	* gnu/java/beans/editors/NativeBooleanEditor.java,
	* gnu/java/beans/editors/NativeByteEditor.java,
	* gnu/java/beans/editors/NativeDoubleEditor.java,
	* gnu/java/beans/editors/NativeFloatEditor.java,
	* gnu/java/beans/editors/NativeIntEditor.java,
	* gnu/java/beans/editors/NativeLongEditor.java,
	* gnu/java/beans/editors/NativeShortEditor.java,
	* gnu/java/beans/editors/StringEditor.java,
	* gnu/java/beans/encoder/ArrayPersistenceDelegate.java,
	* gnu/java/beans/encoder/ClassPersistenceDelegate.java,
	* gnu/java/beans/encoder/CollectionPersistenceDelegate.java,
	* gnu/java/beans/encoder/Context.java,
	* gnu/java/beans/encoder/GenericScannerState.java,
	* gnu/java/beans/encoder/IgnoringScannerState.java,
	* gnu/java/beans/encoder/MapPersistenceDelegate.java,
	* gnu/java/beans/encoder/ObjectId.java,
	* gnu/java/beans/encoder/PrimitivePersistenceDelegate.java,
	* gnu/java/beans/encoder/ReportingScannerState.java,
	* gnu/java/beans/encoder/Root.java,
	* gnu/java/beans/encoder/ScanEngine.java,
	* gnu/java/beans/encoder/ScannerState.java,
	* gnu/java/beans/encoder/StAXWriter.java,
	* gnu/java/beans/encoder/Writer.java,
	* gnu/java/beans/encoder/elements/ArrayInstantiation.java,
	* gnu/java/beans/encoder/elements/Array_Get.java,
	* gnu/java/beans/encoder/elements/ClassResolution.java,
	* gnu/java/beans/encoder/elements/Element.java,
	* gnu/java/beans/encoder/elements/List_Get.java,
	* gnu/java/beans/encoder/elements/List_Set.java,
	* gnu/java/beans/encoder/elements/MethodInvocation.java,
	* gnu/java/beans/encoder/elements/NullObject.java,
	* gnu/java/beans/encoder/elements/ObjectInstantiation.java,
	* gnu/java/beans/encoder/elements/ObjectReference.java,
	* gnu/java/beans/encoder/elements/PrimitiveInstantiation.java,
	* gnu/java/beans/encoder/elements/StaticFieldAccess.java,
	* gnu/java/beans/encoder/elements/StaticMethodInvocation.java,
	* gnu/java/beans/encoder/elements/StringReference.java,
	* gnu/java/io/ASN1ParsingException.java,
	* gnu/java/io/Base64InputStream.java,
	* gnu/java/io/ClassLoaderObjectInputStream.java,
	* gnu/java/io/NullOutputStream.java,
	* gnu/java/io/ObjectIdentityMap2Int.java,
	* gnu/java/io/ObjectIdentityWrapper.java,
	* gnu/java/io/PlatformHelper.java,
	* gnu/java/lang/CPStringBuilder.java,
	* gnu/java/lang/CharData.java,
	* gnu/java/lang/InstrumentationImpl.java,
	* gnu/java/lang/MainThread.java,
	* gnu/java/lang/management/BeanImpl.java,
	* gnu/java/lang/management/ClassLoadingMXBeanImpl.java,
	* gnu/java/lang/management/CompilationMXBeanImpl.java,
	* gnu/java/lang/management/GarbageCollectorMXBeanImpl.java,
	* gnu/java/lang/management/MemoryMXBeanImpl.java,
	* gnu/java/lang/management/MemoryManagerMXBeanImpl.java,
	* gnu/java/lang/management/MemoryPoolMXBeanImpl.java,
	* gnu/java/lang/management/OperatingSystemMXBeanImpl.java,
	* gnu/java/lang/management/RuntimeMXBeanImpl.java,
	* gnu/java/lang/management/ThreadMXBeanImpl.java,
	* gnu/java/lang/reflect/TypeSignature.java,
	* gnu/java/locale/LocaleHelper.java,
	* gnu/java/math/Fixed.java,
	* gnu/java/math/GMP.java,
	* gnu/java/math/MPN.java,
	* gnu/java/net/CRLFInputStream.java,
	* gnu/java/net/CRLFOutputStream.java,
	* gnu/java/net/DefaultContentHandlerFactory.java,
	* gnu/java/net/DefaultProxySelector.java,
	* gnu/java/net/EmptyX509TrustManager.java,
	* gnu/java/net/GetLocalHostAction.java,
	* gnu/java/net/HeaderFieldHelper.java,
	* gnu/java/net/IndexListParser.java,
	* gnu/java/net/LineInputStream.java,
	* gnu/java/net/PlainDatagramSocketImpl.java,
	* gnu/java/net/PlainSocketImpl.java,
	* gnu/java/net/loader/FileResource.java,
	* gnu/java/net/loader/FileURLLoader.java,
	* gnu/java/net/loader/JarURLLoader.java,
	* gnu/java/net/loader/JarURLResource.java,
	* gnu/java/net/loader/RemoteResource.java,
	* gnu/java/net/loader/RemoteURLLoader.java,
	* gnu/java/net/loader/Resource.java,
	* gnu/java/net/loader/URLLoader.java,
	* gnu/java/net/protocol/file/Connection.java,
	* gnu/java/net/protocol/file/Handler.java,
	* gnu/java/net/protocol/ftp/ActiveModeDTP.java,
	* gnu/java/net/protocol/ftp/BlockInputStream.java,
	* gnu/java/net/protocol/ftp/BlockOutputStream.java,
	* gnu/java/net/protocol/ftp/CompressedInputStream.java,
	* gnu/java/net/protocol/ftp/CompressedOutputStream.java,
	* gnu/java/net/protocol/ftp/DTP.java,
	* gnu/java/net/protocol/ftp/DTPInputStream.java,
	* gnu/java/net/protocol/ftp/DTPOutputStream.java,
	* gnu/java/net/protocol/ftp/FTPConnection.java,
	* gnu/java/net/protocol/ftp/FTPException.java,
	* gnu/java/net/protocol/ftp/FTPResponse.java,
	* gnu/java/net/protocol/ftp/FTPURLConnection.java,
	* gnu/java/net/protocol/ftp/Handler.java,
	* gnu/java/net/protocol/ftp/PassiveModeDTP.java,
	* gnu/java/net/protocol/ftp/StreamInputStream.java,
	* gnu/java/net/protocol/ftp/StreamOutputStream.java,
	* gnu/java/net/protocol/http/Authenticator.java,
	* gnu/java/net/protocol/http/ByteArrayRequestBodyWriter.java,
	* gnu/java/net/protocol/http/ChunkedInputStream.java,
	* gnu/java/net/protocol/http/Cookie.java,
	* gnu/java/net/protocol/http/CookieManager.java,
	* gnu/java/net/protocol/http/Credentials.java,
	* gnu/java/net/protocol/http/HTTPConnection.java,
	* gnu/java/net/protocol/http/HTTPDateFormat.java,
	* gnu/java/net/protocol/http/HTTPURLConnection.java,
	* gnu/java/net/protocol/http/Handler.java,
	* gnu/java/net/protocol/http/Headers.java,
	* gnu/java/net/protocol/http/Request.java,
	* gnu/java/net/protocol/http/RequestBodyWriter.java,
	* gnu/java/net/protocol/http/Response.java,
	* gnu/java/net/protocol/http/ResponseHeaderHandler.java,
	* gnu/java/net/protocol/http/SimpleCookieManager.java,
	* gnu/java/net/protocol/https/Handler.java,
	* gnu/java/net/protocol/jar/Connection.java,
	* gnu/java/net/protocol/jar/Handler.java,
	* gnu/java/nio/ChannelInputStream.java,
	* gnu/java/nio/ChannelOutputStream.java,
	* gnu/java/nio/ChannelReader.java,
	* gnu/java/nio/ChannelWriter.java,
	* gnu/java/nio/DatagramChannelImpl.java,
	* gnu/java/nio/DatagramChannelSelectionKey.java,
	* gnu/java/nio/EpollSelectionKeyImpl.java,
	* gnu/java/nio/EpollSelectorImpl.java,
	* gnu/java/nio/FileChannelImpl.java,
	* gnu/java/nio/FileLockImpl.java,
	* gnu/java/nio/InputStreamChannel.java,
	* gnu/java/nio/KqueueSelectionKeyImpl.java,
	* gnu/java/nio/KqueueSelectorImpl.java,
	* gnu/java/nio/NIODatagramSocket.java,
	* gnu/java/nio/NIOServerSocket.java,
	* gnu/java/nio/NIOSocket.java,
	* gnu/java/nio/NIOSocketImpl.java,
	* gnu/java/nio/OutputStreamChannel.java,
	* gnu/java/nio/PipeImpl.java,
	* gnu/java/nio/SelectionKeyImpl.java,
	* gnu/java/nio/SelectorImpl.java,
	* gnu/java/nio/SelectorProviderImpl.java,
	* gnu/java/nio/ServerSocketChannelImpl.java,
	* gnu/java/nio/ServerSocketChannelSelectionKey.java,
	* gnu/java/nio/SocketChannelImpl.java,
	* gnu/java/nio/SocketChannelSelectionKey.java,
	* gnu/java/nio/SocketChannelSelectionKeyImpl.java,
	* gnu/java/nio/VMChannelOwner.java,
	* gnu/java/nio/charset/ByteCharset.java,
	* gnu/java/nio/charset/ByteDecodeLoopHelper.java,
	* gnu/java/nio/charset/ByteEncodeLoopHelper.java,
	* gnu/java/nio/charset/Cp424.java,
	* gnu/java/nio/charset/Cp437.java,
	* gnu/java/nio/charset/Cp737.java,
	* gnu/java/nio/charset/Cp775.java,
	* gnu/java/nio/charset/Cp850.java,
	* gnu/java/nio/charset/Cp852.java,
	* gnu/java/nio/charset/Cp855.java,
	* gnu/java/nio/charset/Cp857.java,
	* gnu/java/nio/charset/Cp860.java,
	* gnu/java/nio/charset/Cp861.java,
	* gnu/java/nio/charset/Cp862.java,
	* gnu/java/nio/charset/Cp863.java,
	* gnu/java/nio/charset/Cp864.java,
	* gnu/java/nio/charset/Cp865.java,
	* gnu/java/nio/charset/Cp866.java,
	* gnu/java/nio/charset/Cp869.java,
	* gnu/java/nio/charset/Cp874.java,
	* gnu/java/nio/charset/EncodingHelper.java,
	* gnu/java/nio/charset/ISO_8859_1.java,
	* gnu/java/nio/charset/ISO_8859_13.java,
	* gnu/java/nio/charset/ISO_8859_15.java,
	* gnu/java/nio/charset/ISO_8859_2.java,
	* gnu/java/nio/charset/ISO_8859_3.java,
	* gnu/java/nio/charset/ISO_8859_4.java,
	* gnu/java/nio/charset/ISO_8859_5.java,
	* gnu/java/nio/charset/ISO_8859_6.java,
	* gnu/java/nio/charset/ISO_8859_7.java,
	* gnu/java/nio/charset/ISO_8859_8.java,
	* gnu/java/nio/charset/ISO_8859_9.java,
	* gnu/java/nio/charset/KOI_8.java,
	* gnu/java/nio/charset/MS874.java,
	* gnu/java/nio/charset/MacCentralEurope.java,
	* gnu/java/nio/charset/MacCroatian.java,
	* gnu/java/nio/charset/MacCyrillic.java,
	* gnu/java/nio/charset/MacDingbat.java,
	* gnu/java/nio/charset/MacGreek.java,
	* gnu/java/nio/charset/MacIceland.java,
	* gnu/java/nio/charset/MacRoman.java,
	* gnu/java/nio/charset/MacRomania.java,
	* gnu/java/nio/charset/MacSymbol.java,
	* gnu/java/nio/charset/MacThai.java,
	* gnu/java/nio/charset/MacTurkish.java,
	* gnu/java/nio/charset/Provider.java,
	* gnu/java/nio/charset/US_ASCII.java,
	* gnu/java/nio/charset/UTF_16.java,
	* gnu/java/nio/charset/UTF_16BE.java,
	* gnu/java/nio/charset/UTF_16Decoder.java,
	* gnu/java/nio/charset/UTF_16Encoder.java,
	* gnu/java/nio/charset/UTF_16LE.java,
	* gnu/java/nio/charset/UTF_8.java,
	* gnu/java/nio/charset/UnicodeLittle.java,
	* gnu/java/nio/charset/Windows1250.java,
	* gnu/java/nio/charset/Windows1251.java,
	* gnu/java/nio/charset/Windows1252.java,
	* gnu/java/nio/charset/Windows1253.java,
	* gnu/java/nio/charset/Windows1254.java,
	* gnu/java/nio/charset/Windows1255.java,
	* gnu/java/nio/charset/Windows1256.java,
	* gnu/java/nio/charset/Windows1257.java,
	* gnu/java/nio/charset/Windows1258.java,
	* gnu/java/nio/charset/iconv/IconvCharset.java,
	* gnu/java/nio/charset/iconv/IconvDecoder.java,
	* gnu/java/nio/charset/iconv/IconvEncoder.java,
	* gnu/java/nio/charset/iconv/IconvProvider.java,
	* gnu/java/rmi/RMIMarshalledObjectInputStream.java,
	* gnu/java/rmi/RMIMarshalledObjectOutputStream.java,
	* gnu/java/rmi/activation/ActivationSystemTransient.java,
	* gnu/java/rmi/activation/BidiTable.java,
	* gnu/java/rmi/activation/DefaultActivationGroup.java,
	* gnu/java/rmi/activation/DefaultActivationSystem.java,
	* gnu/java/rmi/dgc/DGCImpl.java,
	* gnu/java/rmi/dgc/DGCImpl_Skel.java,
	* gnu/java/rmi/dgc/DGCImpl_Stub.java,
	* gnu/java/rmi/dgc/LeaseRenewingTask.java,
	* gnu/java/rmi/registry/RegistryImpl.java,
	* gnu/java/rmi/registry/RegistryImpl_Skel.java,
	* gnu/java/rmi/registry/RegistryImpl_Stub.java,
	* gnu/java/rmi/server/ActivatableRef.java,
	* gnu/java/rmi/server/ActivatableServerRef.java,
	* gnu/java/rmi/server/CombinedClassLoader.java,
	* gnu/java/rmi/server/ConnectionRunnerPool.java,
	* gnu/java/rmi/server/ProtocolConstants.java,
	* gnu/java/rmi/server/RMIClassLoaderImpl.java,
	* gnu/java/rmi/server/RMIDefaultSocketFactory.java,
	* gnu/java/rmi/server/RMIHashes.java,
	* gnu/java/rmi/server/RMIIncomingThread.java,
	* gnu/java/rmi/server/RMIObjectInputStream.java,
	* gnu/java/rmi/server/RMIObjectOutputStream.java,
	* gnu/java/rmi/server/UnicastConnection.java,
	* gnu/java/rmi/server/UnicastConnectionManager.java,
	* gnu/java/rmi/server/UnicastRef.java,
	* gnu/java/rmi/server/UnicastRemoteCall.java,
	* gnu/java/rmi/server/UnicastRemoteStub.java,
	* gnu/java/rmi/server/UnicastServer.java,
	* gnu/java/rmi/server/UnicastServerRef.java,
	* gnu/java/security/Engine.java,
	* gnu/java/security/OID.java,
	* gnu/java/security/PolicyFile.java,
	* gnu/java/security/Properties.java,
	* gnu/java/security/Registry.java,
	* gnu/java/security/Requires.java,
	* gnu/java/security/action/GetPropertyAction.java,
	* gnu/java/security/action/SetAccessibleAction.java,
	* gnu/java/security/der/DERValue.java,
	* gnu/java/security/hash/BaseHash.java,
	* gnu/java/security/hash/HashFactory.java,
	* gnu/java/security/hash/Haval.java,
	* gnu/java/security/hash/IMessageDigest.java,
	* gnu/java/security/hash/MD2.java,
	* gnu/java/security/hash/MD4.java,
	* gnu/java/security/hash/MD5.java,
	* gnu/java/security/hash/RipeMD128.java,
	* gnu/java/security/hash/RipeMD160.java,
	* gnu/java/security/hash/Sha160.java,
	* gnu/java/security/hash/Sha256.java,
	* gnu/java/security/hash/Sha384.java,
	* gnu/java/security/hash/Sha512.java,
	* gnu/java/security/hash/Tiger.java,
	* gnu/java/security/hash/Whirlpool.java,
	* gnu/java/security/jce/hash/HavalSpi.java,
	* gnu/java/security/jce/hash/MD2Spi.java,
	* gnu/java/security/jce/hash/MD4Spi.java,
	* gnu/java/security/jce/hash/MD5Spi.java,
	* gnu/java/security/jce/hash/MessageDigestAdapter.java,
	* gnu/java/security/jce/hash/RipeMD128Spi.java,
	* gnu/java/security/jce/hash/RipeMD160Spi.java,
	* gnu/java/security/jce/hash/Sha160Spi.java,
	* gnu/java/security/jce/hash/Sha256Spi.java,
	* gnu/java/security/jce/hash/Sha384Spi.java,
	* gnu/java/security/jce/hash/Sha512Spi.java,
	* gnu/java/security/jce/hash/TigerSpi.java,
	* gnu/java/security/jce/hash/WhirlpoolSpi.java,
	* gnu/java/security/jce/prng/HavalRandomSpi.java,
	* gnu/java/security/jce/prng/MD2RandomSpi.java,
	* gnu/java/security/jce/prng/MD4RandomSpi.java,
	* gnu/java/security/jce/prng/MD5RandomSpi.java,
	* gnu/java/security/jce/prng/RipeMD128RandomSpi.java,
	* gnu/java/security/jce/prng/RipeMD160RandomSpi.java,
	* gnu/java/security/jce/prng/SecureRandomAdapter.java,
	* gnu/java/security/jce/prng/Sha160RandomSpi.java,
	* gnu/java/security/jce/prng/Sha256RandomSpi.java,
	* gnu/java/security/jce/prng/Sha384RandomSpi.java,
	* gnu/java/security/jce/prng/Sha512RandomSpi.java,
	* gnu/java/security/jce/prng/TigerRandomSpi.java,
	* gnu/java/security/jce/prng/WhirlpoolRandomSpi.java,
	* gnu/java/security/jce/sig/DSSKeyFactory.java,
	* gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java,
	* gnu/java/security/jce/sig/DSSParameters.java,
	* gnu/java/security/jce/sig/DSSRawSignatureSpi.java,
	* gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java,
	* gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.java,
	* gnu/java/security/jce/sig/SignatureAdapter.java,
	* gnu/java/security/key/IKeyPairCodec.java,
	* gnu/java/security/key/IKeyPairGenerator.java,
	* gnu/java/security/key/KeyPairCodecFactory.java,
	* gnu/java/security/key/KeyPairGeneratorFactory.java,
	* gnu/java/security/key/dss/DSSKey.java,
	* gnu/java/security/key/dss/DSSKeyPairGenerator.java,
	* gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java,
	* gnu/java/security/key/dss/DSSKeyPairRawCodec.java,
	* gnu/java/security/key/dss/DSSKeyPairX509Codec.java,
	* gnu/java/security/key/dss/DSSPrivateKey.java,
	* gnu/java/security/key/dss/DSSPublicKey.java,
	* gnu/java/security/key/dss/FIPS186.java,
	* gnu/java/security/key/rsa/GnuRSAKey.java,
	* gnu/java/security/key/rsa/GnuRSAPrivateKey.java,
	* gnu/java/security/key/rsa/GnuRSAPublicKey.java,
	* gnu/java/security/key/rsa/RSAKeyPairGenerator.java,
	* gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java,
	* gnu/java/security/key/rsa/RSAKeyPairRawCodec.java,
	* gnu/java/security/key/rsa/RSAKeyPairX509Codec.java,
	* gnu/java/security/pkcs/PKCS7Data.java,
	* gnu/java/security/pkcs/PKCS7SignedData.java,
	* gnu/java/security/pkcs/SignerInfo.java,
	* gnu/java/security/prng/BasePRNG.java,
	* gnu/java/security/prng/EntropySource.java,
	* gnu/java/security/prng/IRandom.java,
	* gnu/java/security/prng/LimitReachedException.java,
	* gnu/java/security/prng/MDGenerator.java,
	* gnu/java/security/prng/PRNGFactory.java,
	* gnu/java/security/prng/RandomEventListener.java,
	* gnu/java/security/provider/DefaultPolicy.java,
	* gnu/java/security/provider/PKIXCertPathValidatorImpl.java,
	* gnu/java/security/sig/BaseSignature.java,
	* gnu/java/security/sig/ISignature.java,
	* gnu/java/security/sig/ISignatureCodec.java,
	* gnu/java/security/sig/SignatureCodecFactory.java,
	* gnu/java/security/sig/SignatureFactory.java,
	* gnu/java/security/sig/dss/DSSSignature.java,
	* gnu/java/security/sig/dss/DSSSignatureRawCodec.java,
	* gnu/java/security/sig/dss/DSSSignatureX509Codec.java,
	* gnu/java/security/sig/rsa/EME_PKCS1_V1_5.java,
	* gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java,
	* gnu/java/security/sig/rsa/EMSA_PSS.java,
	* gnu/java/security/sig/rsa/RSA.java,
	* gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.java,
	* gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.java,
	* gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java,
	* gnu/java/security/sig/rsa/RSAPSSSignature.java,
	* gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java,
	* gnu/java/security/sig/rsa/RSASignatureFactory.java,
	* gnu/java/security/util/ByteArray.java,
	* gnu/java/security/util/ByteBufferOutputStream.java,
	* gnu/java/security/util/ExpirableObject.java,
	* gnu/java/security/util/FormatUtil.java,
	* gnu/java/security/util/IntegerUtil.java,
	* gnu/java/security/util/PRNG.java,
	* gnu/java/security/util/Prime.java,
	* gnu/java/security/util/Sequence.java,
	* gnu/java/security/util/SimpleList.java,
	* gnu/java/security/util/Util.java,
	* gnu/java/security/x509/X509CRLSelectorImpl.java,
	* gnu/java/security/x509/X509CertSelectorImpl.java,
	* gnu/java/security/x509/ext/CertificatePolicies.java,
	* gnu/java/security/x509/ext/GeneralName.java,
	* gnu/java/security/x509/ext/GeneralSubtree.java,
	* gnu/java/security/x509/ext/NameConstraints.java,
	* gnu/java/text/AttributedFormatBuffer.java,
	* gnu/java/text/BaseBreakIterator.java,
	* gnu/java/text/CharacterBreakIterator.java,
	* gnu/java/text/FormatBuffer.java,
	* gnu/java/text/FormatCharacterIterator.java,
	* gnu/java/text/LineBreakIterator.java,
	* gnu/java/text/SentenceBreakIterator.java,
	* gnu/java/text/StringFormatBuffer.java,
	* gnu/java/text/WordBreakIterator.java,
	* gnu/java/util/Base64.java,
	* gnu/java/util/DoubleEnumeration.java,
	* gnu/java/util/EmptyEnumeration.java,
	* gnu/java/util/WeakIdentityHashMap.java,
	* gnu/java/util/ZoneInfo.java,
	* gnu/java/util/jar/JarUtils.java,
	* gnu/java/util/prefs/FileBasedFactory.java,
	* gnu/java/util/prefs/FileBasedPreferences.java,
	* gnu/java/util/prefs/GConfBasedFactory.java,
	* gnu/java/util/prefs/GConfBasedPreferences.java,
	* gnu/java/util/prefs/MemoryBasedFactory.java,
	* gnu/java/util/prefs/MemoryBasedPreferences.java,
	* gnu/java/util/prefs/NodeReader.java,
	* gnu/java/util/prefs/NodeWriter.java,
	* gnu/java/util/prefs/gconf/GConfNativePeer.java,
	* gnu/java/util/regex/BacktrackStack.java,
	* gnu/java/util/regex/CharIndexed.java,
	* gnu/java/util/regex/CharIndexedInputStream.java,
	* gnu/java/util/regex/RE.java,
	* gnu/java/util/regex/REFilterInputStream.java,
	* gnu/java/util/regex/REMatch.java,
	* gnu/java/util/regex/REMatchEnumeration.java,
	* gnu/java/util/regex/RESyntax.java,
	* gnu/java/util/regex/REToken.java,
	* gnu/java/util/regex/RETokenAny.java,
	* gnu/java/util/regex/RETokenBackRef.java,
	* gnu/java/util/regex/RETokenChar.java,
	* gnu/java/util/regex/RETokenEnd.java,
	* gnu/java/util/regex/RETokenEndOfPreviousMatch.java,
	* gnu/java/util/regex/RETokenIndependent.java,
	* gnu/java/util/regex/RETokenLookAhead.java,
	* gnu/java/util/regex/RETokenLookBehind.java,
	* gnu/java/util/regex/RETokenNamedProperty.java,
	* gnu/java/util/regex/RETokenOneOf.java,
	* gnu/java/util/regex/RETokenPOSIX.java,
	* gnu/java/util/regex/RETokenRange.java,
	* gnu/java/util/regex/RETokenRepeated.java,
	* gnu/java/util/regex/RETokenStart.java,
	* gnu/java/util/regex/RETokenWordBoundary.java,
	* gnu/java/util/regex/UncheckedRE.java,
	* gnu/javax/activation/viewers/ImageViewer.java,
	* gnu/javax/activation/viewers/TextEditor.java,
	* gnu/javax/activation/viewers/TextViewer.java,
	* gnu/javax/crypto/assembly/Assembly.java,
	* gnu/javax/crypto/assembly/Cascade.java,
	* gnu/javax/crypto/assembly/CascadeStage.java,
	* gnu/javax/crypto/assembly/CascadeTransformer.java,
	* gnu/javax/crypto/assembly/DeflateTransformer.java,
	* gnu/javax/crypto/assembly/Direction.java,
	* gnu/javax/crypto/assembly/LoopbackTransformer.java,
	* gnu/javax/crypto/assembly/ModeStage.java,
	* gnu/javax/crypto/assembly/Operation.java,
	* gnu/javax/crypto/assembly/PaddingTransformer.java,
	* gnu/javax/crypto/assembly/Stage.java,
	* gnu/javax/crypto/assembly/Transformer.java,
	* gnu/javax/crypto/assembly/TransformerException.java,
	* gnu/javax/crypto/cipher/Anubis.java,
	* gnu/javax/crypto/cipher/BaseCipher.java,
	* gnu/javax/crypto/cipher/Blowfish.java,
	* gnu/javax/crypto/cipher/Cast5.java,
	* gnu/javax/crypto/cipher/CipherFactory.java,
	* gnu/javax/crypto/cipher/DES.java,
	* gnu/javax/crypto/cipher/IBlockCipher.java,
	* gnu/javax/crypto/cipher/IBlockCipherSpi.java,
	* gnu/javax/crypto/cipher/Khazad.java,
	* gnu/javax/crypto/cipher/NullCipher.java,
	* gnu/javax/crypto/cipher/Rijndael.java,
	* gnu/javax/crypto/cipher/Serpent.java,
	* gnu/javax/crypto/cipher/Square.java,
	* gnu/javax/crypto/cipher/TripleDES.java,
	* gnu/javax/crypto/cipher/Twofish.java,
	* gnu/javax/crypto/cipher/WeakKeyException.java,
	* gnu/javax/crypto/jce/DiffieHellmanImpl.java,
	* gnu/javax/crypto/jce/GnuCrypto.java,
	* gnu/javax/crypto/jce/GnuSasl.java,
	* gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.java,
	* gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.java,
	* gnu/javax/crypto/jce/cipher/AESSpi.java,
	* gnu/javax/crypto/jce/cipher/ARCFourSpi.java,
	* gnu/javax/crypto/jce/cipher/AnubisSpi.java,
	* gnu/javax/crypto/jce/cipher/BlowfishSpi.java,
	* gnu/javax/crypto/jce/cipher/Cast5Spi.java,
	* gnu/javax/crypto/jce/cipher/CipherAdapter.java,
	* gnu/javax/crypto/jce/cipher/DESSpi.java,
	* gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.java,
	* gnu/javax/crypto/jce/cipher/KhazadSpi.java,
	* gnu/javax/crypto/jce/cipher/NullCipherSpi.java,
	* gnu/javax/crypto/jce/cipher/PBES2.java,
	* gnu/javax/crypto/jce/cipher/RijndaelSpi.java,
	* gnu/javax/crypto/jce/cipher/SerpentSpi.java,
	* gnu/javax/crypto/jce/cipher/SquareSpi.java,
	* gnu/javax/crypto/jce/cipher/TripleDESSpi.java,
	* gnu/javax/crypto/jce/cipher/TwofishSpi.java,
	* gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.java,
	* gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.java,
	* gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.java,
	* gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.java,
	* gnu/javax/crypto/jce/keyring/GnuKeyring.java,
	* gnu/javax/crypto/jce/mac/HMacHavalSpi.java,
	* gnu/javax/crypto/jce/mac/HMacMD2Spi.java,
	* gnu/javax/crypto/jce/mac/HMacMD4Spi.java,
	* gnu/javax/crypto/jce/mac/HMacMD5Spi.java,
	* gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.java,
	* gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.java,
	* gnu/javax/crypto/jce/mac/HMacSHA160Spi.java,
	* gnu/javax/crypto/jce/mac/HMacSHA256Spi.java,
	* gnu/javax/crypto/jce/mac/HMacSHA384Spi.java,
	* gnu/javax/crypto/jce/mac/HMacSHA512Spi.java,
	* gnu/javax/crypto/jce/mac/HMacTigerSpi.java,
	* gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.java,
	* gnu/javax/crypto/jce/mac/MacAdapter.java,
	* gnu/javax/crypto/jce/mac/TMMH16Spi.java,
	* gnu/javax/crypto/jce/mac/UHash32Spi.java,
	* gnu/javax/crypto/jce/mac/UMac32Spi.java,
	* gnu/javax/crypto/jce/params/BlockCipherParameters.java,
	* gnu/javax/crypto/jce/params/DEREncodingException.java,
	* gnu/javax/crypto/jce/params/DERReader.java,
	* gnu/javax/crypto/jce/params/DERWriter.java,
	* gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java,
	* gnu/javax/crypto/jce/prng/CSPRNGSpi.java,
	* gnu/javax/crypto/jce/prng/FortunaImpl.java,
	* gnu/javax/crypto/jce/prng/ICMRandomSpi.java,
	* gnu/javax/crypto/jce/prng/UMacRandomSpi.java,
	* gnu/javax/crypto/jce/sig/DHParameters.java,
	* gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.java,
	* gnu/javax/crypto/jce/spec/TMMHParameterSpec.java,
	* gnu/javax/crypto/jce/spec/UMac32ParameterSpec.java,
	* gnu/javax/crypto/key/BaseKeyAgreementParty.java,
	* gnu/javax/crypto/key/GnuPBEKey.java,
	* gnu/javax/crypto/key/GnuSecretKey.java,
	* gnu/javax/crypto/key/IKeyAgreementParty.java,
	* gnu/javax/crypto/key/IncomingMessage.java,
	* gnu/javax/crypto/key/KeyAgreementException.java,
	* gnu/javax/crypto/key/KeyAgreementFactory.java,
	* gnu/javax/crypto/key/OutgoingMessage.java,
	* gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java,
	* gnu/javax/crypto/key/dh/DHKeyPairRawCodec.java,
	* gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java,
	* gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.java,
	* gnu/javax/crypto/key/dh/DiffieHellmanReceiver.java,
	* gnu/javax/crypto/key/dh/DiffieHellmanSender.java,
	* gnu/javax/crypto/key/dh/ElGamalKeyAgreement.java,
	* gnu/javax/crypto/key/dh/ElGamalReceiver.java,
	* gnu/javax/crypto/key/dh/ElGamalSender.java,
	* gnu/javax/crypto/key/dh/GnuDHKey.java,
	* gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java,
	* gnu/javax/crypto/key/dh/GnuDHPrivateKey.java,
	* gnu/javax/crypto/key/dh/GnuDHPublicKey.java,
	* gnu/javax/crypto/key/dh/RFC2631.java,
	* gnu/javax/crypto/key/srp6/SRP6Host.java,
	* gnu/javax/crypto/key/srp6/SRP6KeyAgreement.java,
	* gnu/javax/crypto/key/srp6/SRP6SaslClient.java,
	* gnu/javax/crypto/key/srp6/SRP6SaslServer.java,
	* gnu/javax/crypto/key/srp6/SRP6TLSClient.java,
	* gnu/javax/crypto/key/srp6/SRP6TLSServer.java,
	* gnu/javax/crypto/key/srp6/SRP6User.java,
	* gnu/javax/crypto/key/srp6/SRPAlgorithm.java,
	* gnu/javax/crypto/key/srp6/SRPKey.java,
	* gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java,
	* gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.java,
	* gnu/javax/crypto/key/srp6/SRPPrivateKey.java,
	* gnu/javax/crypto/key/srp6/SRPPublicKey.java,
	* gnu/javax/crypto/keyring/AuthenticatedEntry.java,
	* gnu/javax/crypto/keyring/BaseKeyring.java,
	* gnu/javax/crypto/keyring/BinaryDataEntry.java,
	* gnu/javax/crypto/keyring/CertPathEntry.java,
	* gnu/javax/crypto/keyring/CertificateEntry.java,
	* gnu/javax/crypto/keyring/CompressedEntry.java,
	* gnu/javax/crypto/keyring/EncryptedEntry.java,
	* gnu/javax/crypto/keyring/Entry.java,
	* gnu/javax/crypto/keyring/EnvelopeEntry.java,
	* gnu/javax/crypto/keyring/GnuPrivateKeyring.java,
	* gnu/javax/crypto/keyring/GnuPublicKeyring.java,
	* gnu/javax/crypto/keyring/IKeyring.java,
	* gnu/javax/crypto/keyring/IPrivateKeyring.java,
	* gnu/javax/crypto/keyring/IPublicKeyring.java,
	* gnu/javax/crypto/keyring/MalformedKeyringException.java,
	* gnu/javax/crypto/keyring/MaskableEnvelopeEntry.java,
	* gnu/javax/crypto/keyring/MeteredInputStream.java,
	* gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java,
	* gnu/javax/crypto/keyring/PasswordEncryptedEntry.java,
	* gnu/javax/crypto/keyring/PasswordProtectedEntry.java,
	* gnu/javax/crypto/keyring/PrimitiveEntry.java,
	* gnu/javax/crypto/keyring/PrivateKeyEntry.java,
	* gnu/javax/crypto/keyring/Properties.java,
	* gnu/javax/crypto/keyring/PublicKeyEntry.java,
	* gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.java,
	* gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.java,
	* gnu/javax/crypto/kwa/KeyWrappingAlgorithmFactory.java,
	* gnu/javax/crypto/kwa/TripleDESKeyWrap.java,
	* gnu/javax/crypto/mac/BaseMac.java,
	* gnu/javax/crypto/mac/HMac.java,
	* gnu/javax/crypto/mac/HMacFactory.java,
	* gnu/javax/crypto/mac/IMac.java,
	* gnu/javax/crypto/mac/MacFactory.java,
	* gnu/javax/crypto/mac/MacInputStream.java,
	* gnu/javax/crypto/mac/MacOutputStream.java,
	* gnu/javax/crypto/mac/OMAC.java,
	* gnu/javax/crypto/mac/TMMH16.java,
	* gnu/javax/crypto/mac/UHash32.java,
	* gnu/javax/crypto/mac/UMac32.java,
	* gnu/javax/crypto/mode/BaseMode.java,
	* gnu/javax/crypto/mode/CBC.java,
	* gnu/javax/crypto/mode/CFB.java,
	* gnu/javax/crypto/mode/CTR.java,
	* gnu/javax/crypto/mode/EAX.java,
	* gnu/javax/crypto/mode/ECB.java,
	* gnu/javax/crypto/mode/IAuthenticatedMode.java,
	* gnu/javax/crypto/mode/ICM.java,
	* gnu/javax/crypto/mode/IMode.java,
	* gnu/javax/crypto/mode/ModeFactory.java,
	* gnu/javax/crypto/mode/OFB.java,
	* gnu/javax/crypto/pad/BasePad.java,
	* gnu/javax/crypto/pad/IPad.java,
	* gnu/javax/crypto/pad/PKCS1_V1_5.java,
	* gnu/javax/crypto/pad/PKCS7.java,
	* gnu/javax/crypto/pad/PadFactory.java,
	* gnu/javax/crypto/pad/TBC.java,
	* gnu/javax/crypto/pad/WrongPaddingException.java,
	* gnu/javax/crypto/prng/ARCFour.java,
	* gnu/javax/crypto/prng/CSPRNG.java,
	* gnu/javax/crypto/prng/ICMGenerator.java,
	* gnu/javax/crypto/prng/IPBE.java,
	* gnu/javax/crypto/prng/PBKDF2.java,
	* gnu/javax/crypto/prng/PRNGFactory.java,
	* gnu/javax/crypto/prng/UMacGenerator.java,
	* gnu/javax/crypto/sasl/AuthInfo.java,
	* gnu/javax/crypto/sasl/AuthInfoProviderFactory.java,
	* gnu/javax/crypto/sasl/ClientFactory.java,
	* gnu/javax/crypto/sasl/ClientMechanism.java,
	* gnu/javax/crypto/sasl/ConfidentialityException.java,
	* gnu/javax/crypto/sasl/IAuthInfoProvider.java,
	* gnu/javax/crypto/sasl/IAuthInfoProviderFactory.java,
	* gnu/javax/crypto/sasl/IllegalMechanismStateException.java,
	* gnu/javax/crypto/sasl/InputBuffer.java,
	* gnu/javax/crypto/sasl/IntegrityException.java,
	* gnu/javax/crypto/sasl/NoSuchMechanismException.java,
	* gnu/javax/crypto/sasl/NoSuchUserException.java,
	* gnu/javax/crypto/sasl/OutputBuffer.java,
	* gnu/javax/crypto/sasl/SaslEncodingException.java,
	* gnu/javax/crypto/sasl/SaslInputStream.java,
	* gnu/javax/crypto/sasl/SaslOutputStream.java,
	* gnu/javax/crypto/sasl/SaslUtil.java,
	* gnu/javax/crypto/sasl/ServerFactory.java,
	* gnu/javax/crypto/sasl/ServerMechanism.java,
	* gnu/javax/crypto/sasl/UserAlreadyExistsException.java,
	* gnu/javax/crypto/sasl/anonymous/AnonymousClient.java,
	* gnu/javax/crypto/sasl/anonymous/AnonymousServer.java,
	* gnu/javax/crypto/sasl/anonymous/AnonymousUtil.java,
	* gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.java,
	* gnu/javax/crypto/sasl/crammd5/CramMD5Client.java,
	* gnu/javax/crypto/sasl/crammd5/CramMD5Registry.java,
	* gnu/javax/crypto/sasl/crammd5/CramMD5Server.java,
	* gnu/javax/crypto/sasl/crammd5/CramMD5Util.java,
	* gnu/javax/crypto/sasl/crammd5/PasswordFile.java,
	* gnu/javax/crypto/sasl/plain/PasswordFile.java,
	* gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.java,
	* gnu/javax/crypto/sasl/plain/PlainClient.java,
	* gnu/javax/crypto/sasl/plain/PlainRegistry.java,
	* gnu/javax/crypto/sasl/plain/PlainServer.java,
	* gnu/javax/crypto/sasl/srp/CALG.java,
	* gnu/javax/crypto/sasl/srp/ClientStore.java,
	* gnu/javax/crypto/sasl/srp/IALG.java,
	* gnu/javax/crypto/sasl/srp/KDF.java,
	* gnu/javax/crypto/sasl/srp/PasswordFile.java,
	* gnu/javax/crypto/sasl/srp/SRP.java,
	* gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.java,
	* gnu/javax/crypto/sasl/srp/SRPClient.java,
	* gnu/javax/crypto/sasl/srp/SRPRegistry.java,
	* gnu/javax/crypto/sasl/srp/SRPServer.java,
	* gnu/javax/crypto/sasl/srp/SecurityContext.java,
	* gnu/javax/crypto/sasl/srp/ServerStore.java,
	* gnu/javax/crypto/sasl/srp/StoreEntry.java,
	* gnu/javax/imageio/IIOInputStream.java,
	* gnu/javax/imageio/bmp/BMPDecoder.java,
	* gnu/javax/imageio/bmp/BMPEncoder.java,
	* gnu/javax/imageio/bmp/BMPException.java,
	* gnu/javax/imageio/bmp/BMPFileHeader.java,
	* gnu/javax/imageio/bmp/BMPImageReader.java,
	* gnu/javax/imageio/bmp/BMPImageReaderSpi.java,
	* gnu/javax/imageio/bmp/BMPImageWriter.java,
	* gnu/javax/imageio/bmp/BMPImageWriterSpi.java,
	* gnu/javax/imageio/bmp/BMPInfoHeader.java,
	* gnu/javax/imageio/bmp/DecodeBF16.java,
	* gnu/javax/imageio/bmp/DecodeBF32.java,
	* gnu/javax/imageio/bmp/DecodeRGB1.java,
	* gnu/javax/imageio/bmp/DecodeRGB24.java,
	* gnu/javax/imageio/bmp/DecodeRGB4.java,
	* gnu/javax/imageio/bmp/DecodeRGB8.java,
	* gnu/javax/imageio/bmp/DecodeRLE4.java,
	* gnu/javax/imageio/bmp/DecodeRLE8.java,
	* gnu/javax/imageio/bmp/EncodeRGB1.java,
	* gnu/javax/imageio/bmp/EncodeRGB16.java,
	* gnu/javax/imageio/bmp/EncodeRGB24.java,
	* gnu/javax/imageio/bmp/EncodeRGB32.java,
	* gnu/javax/imageio/bmp/EncodeRGB4.java,
	* gnu/javax/imageio/bmp/EncodeRGB8.java,
	* gnu/javax/imageio/bmp/EncodeRLE4.java,
	* gnu/javax/imageio/bmp/EncodeRLE8.java,
	* gnu/javax/imageio/gif/GIFFile.java,
	* gnu/javax/imageio/gif/GIFImageReader.java,
	* gnu/javax/imageio/gif/GIFImageReaderSpi.java,
	* gnu/javax/imageio/jpeg/DCT.java,
	* gnu/javax/imageio/jpeg/JPEGComponent.java,
	* gnu/javax/imageio/jpeg/JPEGDecoder.java,
	* gnu/javax/imageio/jpeg/JPEGImageInputStream.java,
	* gnu/javax/imageio/jpeg/JPEGImageReader.java,
	* gnu/javax/imageio/jpeg/JPEGImageReaderSpi.java,
	* gnu/javax/imageio/jpeg/JPEGMarker.java,
	* gnu/javax/imageio/jpeg/ZigZag.java,
	* gnu/javax/imageio/png/PNGChunk.java,
	* gnu/javax/imageio/png/PNGData.java,
	* gnu/javax/imageio/png/PNGDecoder.java,
	* gnu/javax/imageio/png/PNGEncoder.java,
	* gnu/javax/imageio/png/PNGException.java,
	* gnu/javax/imageio/png/PNGFile.java,
	* gnu/javax/imageio/png/PNGFilter.java,
	* gnu/javax/imageio/png/PNGGamma.java,
	* gnu/javax/imageio/png/PNGHeader.java,
	* gnu/javax/imageio/png/PNGICCProfile.java,
	* gnu/javax/imageio/png/PNGImageReader.java,
	* gnu/javax/imageio/png/PNGPalette.java,
	* gnu/javax/imageio/png/PNGPhys.java,
	* gnu/javax/imageio/png/PNGTime.java,
	* gnu/javax/management/ListenerData.java,
	* gnu/javax/management/Server.java,
	* gnu/javax/management/Translator.java,
	* gnu/javax/naming/giop/ContextContinuation.java,
	* gnu/javax/naming/giop/CorbalocParser.java,
	* gnu/javax/naming/giop/GiopNamingEnumeration.java,
	* gnu/javax/naming/giop/GiopNamingServiceFactory.java,
	* gnu/javax/naming/giop/GiopNamingServiceURLContext.java,
	* gnu/javax/naming/giop/ListBindingsEnumeration.java,
	* gnu/javax/naming/giop/ListEnumeration.java,
	* gnu/javax/naming/ictxImpl/trans/GnuName.java,
	* gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.java,
	* gnu/javax/naming/jndi/url/rmi/ContextContinuation.java,
	* gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.java,
	* gnu/javax/naming/jndi/url/rmi/ListEnumeration.java,
	* gnu/javax/naming/jndi/url/rmi/RmiContinuation.java,
	* gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.java,
	* gnu/javax/naming/jndi/url/rmi/rmiURLContext.java,
	* gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.java,
	* gnu/javax/net/ssl/AbstractSessionContext.java,
	* gnu/javax/net/ssl/PreSharedKeyManager.java,
	* gnu/javax/net/ssl/PreSharedKeyManagerParameters.java,
	* gnu/javax/net/ssl/SSLCipherSuite.java,
	* gnu/javax/net/ssl/SSLRecordHandler.java,
	* gnu/javax/net/ssl/Session.java,
	* gnu/javax/net/ssl/SessionStoreException.java,
	* gnu/javax/net/ssl/provider/AbstractHandshake.java,
	* gnu/javax/net/ssl/provider/Alert.java,
	* gnu/javax/net/ssl/provider/AlertException.java,
	* gnu/javax/net/ssl/provider/Builder.java,
	* gnu/javax/net/ssl/provider/Certificate.java,
	* gnu/javax/net/ssl/provider/CertificateBuilder.java,
	* gnu/javax/net/ssl/provider/CertificateRequest.java,
	* gnu/javax/net/ssl/provider/CertificateRequestBuilder.java,
	* gnu/javax/net/ssl/provider/CertificateStatusRequest.java,
	* gnu/javax/net/ssl/provider/CertificateStatusType.java,
	* gnu/javax/net/ssl/provider/CertificateURL.java,
	* gnu/javax/net/ssl/provider/CertificateVerify.java,
	* gnu/javax/net/ssl/provider/CipherSuite.java,
	* gnu/javax/net/ssl/provider/CipherSuiteList.java,
	* gnu/javax/net/ssl/provider/ClientCertificateTypeList.java,
	* gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.java,
	* gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.java,
	* gnu/javax/net/ssl/provider/ClientHandshake.java,
	* gnu/javax/net/ssl/provider/ClientHello.java,
	* gnu/javax/net/ssl/provider/ClientHelloBuilder.java,
	* gnu/javax/net/ssl/provider/ClientHelloV2.java,
	* gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.java,
	* gnu/javax/net/ssl/provider/ClientPSKParameters.java,
	* gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.java,
	* gnu/javax/net/ssl/provider/CompressionMethod.java,
	* gnu/javax/net/ssl/provider/CompressionMethodList.java,
	* gnu/javax/net/ssl/provider/Constructed.java,
	* gnu/javax/net/ssl/provider/Debug.java,
	* gnu/javax/net/ssl/provider/DelegatedTask.java,
	* gnu/javax/net/ssl/provider/EmptyExchangeKeys.java,
	* gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.java,
	* gnu/javax/net/ssl/provider/ExchangeKeys.java,
	* gnu/javax/net/ssl/provider/Extension.java,
	* gnu/javax/net/ssl/provider/ExtensionList.java,
	* gnu/javax/net/ssl/provider/Handshake.java,
	* gnu/javax/net/ssl/provider/InputSecurityParameters.java,
	* gnu/javax/net/ssl/provider/Jessie.java,
	* gnu/javax/net/ssl/provider/MaxFragmentLength.java,
	* gnu/javax/net/ssl/provider/OutputSecurityParameters.java,
	* gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.java,
	* gnu/javax/net/ssl/provider/Random.java,
	* gnu/javax/net/ssl/provider/SSLContextImpl.java,
	* gnu/javax/net/ssl/provider/SSLEngineImpl.java,
	* gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java,
	* gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.java,
	* gnu/javax/net/ssl/provider/SSLServerSocketImpl.java,
	* gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java,
	* gnu/javax/net/ssl/provider/SSLSocketImpl.java,
	* gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.java,
	* gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.java,
	* gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java,
	* gnu/javax/net/ssl/provider/ServerDHParams.java,
	* gnu/javax/net/ssl/provider/ServerHandshake.java,
	* gnu/javax/net/ssl/provider/ServerHello.java,
	* gnu/javax/net/ssl/provider/ServerHelloBuilder.java,
	* gnu/javax/net/ssl/provider/ServerHelloDone.java,
	* gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.java,
	* gnu/javax/net/ssl/provider/ServerNameList.java,
	* gnu/javax/net/ssl/provider/ServerPSKParameters.java,
	* gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.java,
	* gnu/javax/net/ssl/provider/SessionImpl.java,
	* gnu/javax/net/ssl/provider/Signature.java,
	* gnu/javax/net/ssl/provider/SignatureAlgorithm.java,
	* gnu/javax/net/ssl/provider/SimpleSessionContext.java,
	* gnu/javax/net/ssl/provider/TruncatedHMAC.java,
	* gnu/javax/net/ssl/provider/TrustedAuthorities.java,
	* gnu/javax/net/ssl/provider/UnresolvedExtensionValue.java,
	* gnu/javax/net/ssl/provider/Util.java,
	* gnu/javax/net/ssl/provider/X500PrincipalList.java,
	* gnu/javax/net/ssl/provider/X509KeyManagerFactory.java,
	* gnu/javax/net/ssl/provider/X509TrustManagerFactory.java,
	* gnu/javax/print/ipp/IppRequest.java,
	* gnu/javax/rmi/CORBA/CorbaInput.java,
	* gnu/javax/rmi/CORBA/CorbaOutput.java,
	* gnu/javax/rmi/CORBA/DefaultWriteObjectTester.java,
	* gnu/javax/rmi/CORBA/DelegateFactory.java,
	* gnu/javax/rmi/CORBA/GetDelegateInstanceException.java,
	* gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.java,
	* gnu/javax/rmi/CORBA/RmiUtilities.java,
	* gnu/javax/rmi/CORBA/StubDelegateImpl.java,
	* gnu/javax/rmi/CORBA/TieTargetRecord.java,
	* gnu/javax/rmi/CORBA/UtilDelegateImpl.java,
	* gnu/javax/rmi/CORBA/ValueHandlerDelegateImpl.java,
	* gnu/javax/security/auth/callback/AWTCallbackHandler.java,
	* gnu/javax/security/auth/callback/AbstractCallbackHandler.java,
	* gnu/javax/security/auth/callback/CertificateCallback.java,
	* gnu/javax/security/auth/callback/ConsoleCallbackHandler.java,
	* gnu/javax/security/auth/callback/DefaultCallbackHandler.java,
	* gnu/javax/security/auth/callback/SwingCallbackHandler.java,
	* gnu/javax/security/auth/login/ConfigFileParser.java,
	* gnu/javax/security/auth/login/ConfigFileTokenizer.java,
	* gnu/javax/security/auth/login/GnuConfiguration.java,
	* gnu/javax/sound/AudioSecurityManager.java,
	* gnu/javax/sound/midi/alsa/AlsaInputPortDevice.java,
	* gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.java,
	* gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.java,
	* gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.java,
	* gnu/javax/sound/midi/alsa/AlsaPortDevice.java,
	* gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.java,
	* gnu/javax/sound/midi/dssi/DSSISynthesizer.java,
	* gnu/javax/sound/midi/file/ExtendedMidiFileFormat.java,
	* gnu/javax/sound/midi/file/MidiDataInputStream.java,
	* gnu/javax/sound/midi/file/MidiDataOutputStream.java,
	* gnu/javax/sound/midi/file/MidiFileReader.java,
	* gnu/javax/sound/midi/file/MidiFileWriter.java,
	* gnu/javax/sound/sampled/AU/AUReader.java,
	* gnu/javax/sound/sampled/WAV/WAVReader.java,
	* gnu/javax/sound/sampled/gstreamer/GStreamerMixer.java,
	* gnu/javax/sound/sampled/gstreamer/GStreamerMixerProvider.java,
	* gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReader.java,
	* gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReaderNativePeer.java,
	* gnu/javax/sound/sampled/gstreamer/io/GstInputStream.java,
	* gnu/javax/sound/sampled/gstreamer/lines/GstDataLine.java,
	* gnu/javax/sound/sampled/gstreamer/lines/GstNativeDataLine.java,
	* gnu/javax/sound/sampled/gstreamer/lines/GstPipeline.java,
	* gnu/javax/sound/sampled/gstreamer/lines/GstSourceDataLine.java,
	* gnu/javax/swing/plaf/gnu/GNULookAndFeel.java,
	* gnu/javax/swing/text/html/CharacterAttributeTranslator.java,
	* gnu/javax/swing/text/html/CombinedAttributes.java,
	* gnu/javax/swing/text/html/ImageViewIconFactory.java,
	* gnu/javax/swing/text/html/css/BorderStyle.java,
	* gnu/javax/swing/text/html/css/CSSParser.java,
	* gnu/javax/swing/text/html/css/CSSScanner.java,
	* gnu/javax/swing/text/html/css/Selector.java,
	* gnu/javax/swing/text/html/parser/GnuParserDelegator.java,
	* gnu/javax/swing/text/html/parser/HTML_401F.java,
	* gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.java,
	* gnu/javax/swing/text/html/parser/htmlAttributeSet.java,
	* gnu/javax/swing/text/html/parser/htmlValidator.java,
	* gnu/javax/swing/text/html/parser/models/list.java,
	* gnu/javax/swing/text/html/parser/support/Parser.java,
	* gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.java,
	* gnu/javax/swing/text/html/parser/support/textPreProcessor.java,
	* gnu/javax/swing/tree/GnuPath.java,
	* gnu/test/Fail.java,
	* gnu/test/Pass.java,
	* gnu/test/Test.java,
	* gnu/test/Unsupported.java,
	* gnu/xml/aelfred2/JAXPFactory.java,
	* gnu/xml/aelfred2/SAXDriver.java,
	* gnu/xml/aelfred2/XmlParser.java,
	* gnu/xml/aelfred2/XmlReader.java,
	* gnu/xml/dom/Consumer.java,
	* gnu/xml/dom/DTDAttributeTypeInfo.java,
	* gnu/xml/dom/DTDElementTypeInfo.java,
	* gnu/xml/dom/DomAttr.java,
	* gnu/xml/dom/DomCDATASection.java,
	* gnu/xml/dom/DomCharacterData.java,
	* gnu/xml/dom/DomComment.java,
	* gnu/xml/dom/DomDOMException.java,
	* gnu/xml/dom/DomDoctype.java,
	* gnu/xml/dom/DomDocument.java,
	* gnu/xml/dom/DomDocumentBuilder.java,
	* gnu/xml/dom/DomDocumentBuilderFactory.java,
	* gnu/xml/dom/DomDocumentConfiguration.java,
	* gnu/xml/dom/DomDocumentFragment.java,
	* gnu/xml/dom/DomElement.java,
	* gnu/xml/dom/DomEntity.java,
	* gnu/xml/dom/DomEntityReference.java,
	* gnu/xml/dom/DomEvent.java,
	* gnu/xml/dom/DomExtern.java,
	* gnu/xml/dom/DomImpl.java,
	* gnu/xml/dom/DomIterator.java,
	* gnu/xml/dom/DomNSResolverContext.java,
	* gnu/xml/dom/DomNamedNodeMap.java,
	* gnu/xml/dom/DomNode.java,
	* gnu/xml/dom/DomNodeIterator.java,
	* gnu/xml/dom/DomNotation.java,
	* gnu/xml/dom/DomNsNode.java,
	* gnu/xml/dom/DomProcessingInstruction.java,
	* gnu/xml/dom/DomText.java,
	* gnu/xml/dom/DomXPathExpression.java,
	* gnu/xml/dom/DomXPathNSResolver.java,
	* gnu/xml/dom/DomXPathResult.java,
	* gnu/xml/dom/ImplementationList.java,
	* gnu/xml/dom/ImplementationSource.java,
	* gnu/xml/dom/JAXPFactory.java,
	* gnu/xml/dom/html2/DomHTMLAnchorElement.java,
	* gnu/xml/dom/html2/DomHTMLAppletElement.java,
	* gnu/xml/dom/html2/DomHTMLAreaElement.java,
	* gnu/xml/dom/html2/DomHTMLBRElement.java,
	* gnu/xml/dom/html2/DomHTMLBaseElement.java,
	* gnu/xml/dom/html2/DomHTMLBaseFontElement.java,
	* gnu/xml/dom/html2/DomHTMLBodyElement.java,
	* gnu/xml/dom/html2/DomHTMLButtonElement.java,
	* gnu/xml/dom/html2/DomHTMLCollection.java,
	* gnu/xml/dom/html2/DomHTMLDListElement.java,
	* gnu/xml/dom/html2/DomHTMLDirectoryElement.java,
	* gnu/xml/dom/html2/DomHTMLDivElement.java,
	* gnu/xml/dom/html2/DomHTMLDocument.java,
	* gnu/xml/dom/html2/DomHTMLElement.java,
	* gnu/xml/dom/html2/DomHTMLEmbedElement.java,
	* gnu/xml/dom/html2/DomHTMLFieldSetElement.java,
	* gnu/xml/dom/html2/DomHTMLFontElement.java,
	* gnu/xml/dom/html2/DomHTMLFormElement.java,
	* gnu/xml/dom/html2/DomHTMLFrameElement.java,
	* gnu/xml/dom/html2/DomHTMLFrameSetElement.java,
	* gnu/xml/dom/html2/DomHTMLHRElement.java,
	* gnu/xml/dom/html2/DomHTMLHeadElement.java,
	* gnu/xml/dom/html2/DomHTMLHeadingElement.java,
	* gnu/xml/dom/html2/DomHTMLHtmlElement.java,
	* gnu/xml/dom/html2/DomHTMLIFrameElement.java,
	* gnu/xml/dom/html2/DomHTMLImageElement.java,
	* gnu/xml/dom/html2/DomHTMLImpl.java,
	* gnu/xml/dom/html2/DomHTMLInputElement.java,
	* gnu/xml/dom/html2/DomHTMLIsIndexElement.java,
	* gnu/xml/dom/html2/DomHTMLLIElement.java,
	* gnu/xml/dom/html2/DomHTMLLabelElement.java,
	* gnu/xml/dom/html2/DomHTMLLegendElement.java,
	* gnu/xml/dom/html2/DomHTMLLinkElement.java,
	* gnu/xml/dom/html2/DomHTMLMapElement.java,
	* gnu/xml/dom/html2/DomHTMLMenuElement.java,
	* gnu/xml/dom/html2/DomHTMLMetaElement.java,
	* gnu/xml/dom/html2/DomHTMLModElement.java,
	* gnu/xml/dom/html2/DomHTMLOListElement.java,
	* gnu/xml/dom/html2/DomHTMLObjectElement.java,
	* gnu/xml/dom/html2/DomHTMLOptGroupElement.java,
	* gnu/xml/dom/html2/DomHTMLOptionElement.java,
	* gnu/xml/dom/html2/DomHTMLParagraphElement.java,
	* gnu/xml/dom/html2/DomHTMLParamElement.java,
	* gnu/xml/dom/html2/DomHTMLParser.java,
	* gnu/xml/dom/html2/DomHTMLPreElement.java,
	* gnu/xml/dom/html2/DomHTMLQuoteElement.java,
	* gnu/xml/dom/html2/DomHTMLScriptElement.java,
	* gnu/xml/dom/html2/DomHTMLSelectElement.java,
	* gnu/xml/dom/html2/DomHTMLStyleElement.java,
	* gnu/xml/dom/html2/DomHTMLTableCaptionElement.java,
	* gnu/xml/dom/html2/DomHTMLTableCellElement.java,
	* gnu/xml/dom/html2/DomHTMLTableColElement.java,
	* gnu/xml/dom/html2/DomHTMLTableElement.java,
	* gnu/xml/dom/html2/DomHTMLTableRowElement.java,
	* gnu/xml/dom/html2/DomHTMLTableSectionElement.java,
	* gnu/xml/dom/html2/DomHTMLTextAreaElement.java,
	* gnu/xml/dom/html2/DomHTMLTitleElement.java,
	* gnu/xml/dom/html2/DomHTMLUListElement.java,
	* gnu/xml/dom/ls/DomLSException.java,
	* gnu/xml/dom/ls/DomLSInput.java,
	* gnu/xml/dom/ls/DomLSOutput.java,
	* gnu/xml/dom/ls/DomLSParser.java,
	* gnu/xml/dom/ls/DomLSSerializer.java,
	* gnu/xml/dom/ls/FilteredSAXEventSink.java,
	* gnu/xml/dom/ls/ReaderInputStream.java,
	* gnu/xml/dom/ls/SAXEventSink.java,
	* gnu/xml/dom/ls/WriterOutputStream.java,
	* gnu/xml/libxmlj/dom/GnomeAttr.java,
	* gnu/xml/libxmlj/dom/GnomeCDATASection.java,
	* gnu/xml/libxmlj/dom/GnomeCharacterData.java,
	* gnu/xml/libxmlj/dom/GnomeComment.java,
	* gnu/xml/libxmlj/dom/GnomeDOMException.java,
	* gnu/xml/libxmlj/dom/GnomeDOMStringList.java,
	* gnu/xml/libxmlj/dom/GnomeDocument.java,
	* gnu/xml/libxmlj/dom/GnomeDocumentBuilder.java,
	* gnu/xml/libxmlj/dom/GnomeDocumentBuilderFactory.java,
	* gnu/xml/libxmlj/dom/GnomeDocumentFragment.java,
	* gnu/xml/libxmlj/dom/GnomeDocumentType.java,
	* gnu/xml/libxmlj/dom/GnomeElement.java,
	* gnu/xml/libxmlj/dom/GnomeEntity.java,
	* gnu/xml/libxmlj/dom/GnomeEntityReference.java,
	* gnu/xml/libxmlj/dom/GnomeNamedNodeMap.java,
	* gnu/xml/libxmlj/dom/GnomeNode.java,
	* gnu/xml/libxmlj/dom/GnomeNodeList.java,
	* gnu/xml/libxmlj/dom/GnomeNotation.java,
	* gnu/xml/libxmlj/dom/GnomeProcessingInstruction.java,
	* gnu/xml/libxmlj/dom/GnomeText.java,
	* gnu/xml/libxmlj/dom/GnomeTypeInfo.java,
	* gnu/xml/libxmlj/dom/GnomeXPathExpression.java,
	* gnu/xml/libxmlj/dom/GnomeXPathNSResolver.java,
	* gnu/xml/libxmlj/dom/GnomeXPathNodeList.java,
	* gnu/xml/libxmlj/dom/GnomeXPathResult.java,
	* gnu/xml/libxmlj/sax/GnomeLocator.java,
	* gnu/xml/libxmlj/sax/GnomeSAXParser.java,
	* gnu/xml/libxmlj/sax/GnomeSAXParserFactory.java,
	* gnu/xml/libxmlj/sax/GnomeXMLReader.java,
	* gnu/xml/libxmlj/sax/Namespaces.java,
	* gnu/xml/libxmlj/sax/StringArrayAttributes.java,
	* gnu/xml/libxmlj/sax/XMLName.java,
	* gnu/xml/libxmlj/transform/ErrorListenerErrorHandler.java,
	* gnu/xml/libxmlj/transform/GnomeTransformer.java,
	* gnu/xml/libxmlj/transform/GnomeTransformerFactory.java,
	* gnu/xml/libxmlj/transform/URIResolverEntityResolver.java,
	* gnu/xml/libxmlj/util/EmptyNodeList.java,
	* gnu/xml/libxmlj/util/NamedInputStream.java,
	* gnu/xml/libxmlj/util/StandaloneDocumentType.java,
	* gnu/xml/libxmlj/util/StandaloneLocator.java,
	* gnu/xml/libxmlj/util/XMLJ.java,
	* gnu/xml/pipeline/CallFilter.java,
	* gnu/xml/pipeline/DomConsumer.java,
	* gnu/xml/pipeline/EventConsumer.java,
	* gnu/xml/pipeline/EventFilter.java,
	* gnu/xml/pipeline/LinkFilter.java,
	* gnu/xml/pipeline/NSFilter.java,
	* gnu/xml/pipeline/PipelineFactory.java,
	* gnu/xml/pipeline/TeeConsumer.java,
	* gnu/xml/pipeline/TextConsumer.java,
	* gnu/xml/pipeline/ValidationConsumer.java,
	* gnu/xml/pipeline/WellFormednessFilter.java,
	* gnu/xml/pipeline/XIncludeFilter.java,
	* gnu/xml/pipeline/XsltFilter.java,
	* gnu/xml/stream/AttributeImpl.java,
	* gnu/xml/stream/BufferedReader.java,
	* gnu/xml/stream/CRLFReader.java,
	* gnu/xml/stream/CharactersImpl.java,
	* gnu/xml/stream/CommentImpl.java,
	* gnu/xml/stream/DTDImpl.java,
	* gnu/xml/stream/EndDocumentImpl.java,
	* gnu/xml/stream/EndElementImpl.java,
	* gnu/xml/stream/EntityDeclarationImpl.java,
	* gnu/xml/stream/EntityReferenceImpl.java,
	* gnu/xml/stream/FilteredEventReader.java,
	* gnu/xml/stream/FilteredStreamReader.java,
	* gnu/xml/stream/NamespaceImpl.java,
	* gnu/xml/stream/NotationDeclarationImpl.java,
	* gnu/xml/stream/ProcessingInstructionImpl.java,
	* gnu/xml/stream/SAXParser.java,
	* gnu/xml/stream/SAXParserFactory.java,
	* gnu/xml/stream/StartDocumentImpl.java,
	* gnu/xml/stream/StartElementImpl.java,
	* gnu/xml/stream/UnicodeReader.java,
	* gnu/xml/stream/XIncludeFilter.java,
	* gnu/xml/stream/XMLEventAllocatorImpl.java,
	* gnu/xml/stream/XMLEventFactoryImpl.java,
	* gnu/xml/stream/XMLEventImpl.java,
	* gnu/xml/stream/XMLEventReaderImpl.java,
	* gnu/xml/stream/XMLEventWriterImpl.java,
	* gnu/xml/stream/XMLInputFactoryImpl.java,
	* gnu/xml/stream/XMLOutputFactoryImpl.java,
	* gnu/xml/stream/XMLParser.java,
	* gnu/xml/stream/XMLStreamWriterImpl.java,
	* gnu/xml/transform/AbstractNumberNode.java,
	* gnu/xml/transform/ApplyImportsNode.java,
	* gnu/xml/transform/ApplyTemplatesNode.java,
	* gnu/xml/transform/AttributeNode.java,
	* gnu/xml/transform/AttributeSet.java,
	* gnu/xml/transform/Bindings.java,
	* gnu/xml/transform/CallTemplateNode.java,
	* gnu/xml/transform/ChooseNode.java,
	* gnu/xml/transform/CommentNode.java,
	* gnu/xml/transform/CopyNode.java,
	* gnu/xml/transform/CopyOfNode.java,
	* gnu/xml/transform/CurrentFunction.java,
	* gnu/xml/transform/DOMSourceLocator.java,
	* gnu/xml/transform/DocumentFunction.java,
	* gnu/xml/transform/ElementAvailableFunction.java,
	* gnu/xml/transform/ElementNode.java,
	* gnu/xml/transform/ErrorListenerErrorHandler.java,
	* gnu/xml/transform/ForEachNode.java,
	* gnu/xml/transform/FormatNumberFunction.java,
	* gnu/xml/transform/FunctionAvailableFunction.java,
	* gnu/xml/transform/GenerateIdFunction.java,
	* gnu/xml/transform/IfNode.java,
	* gnu/xml/transform/Key.java,
	* gnu/xml/transform/KeyFunction.java,
	* gnu/xml/transform/LiteralNode.java,
	* gnu/xml/transform/MessageNode.java,
	* gnu/xml/transform/NamespaceProxy.java,
	* gnu/xml/transform/NodeNumberNode.java,
	* gnu/xml/transform/NumberNode.java,
	* gnu/xml/transform/OtherwiseNode.java,
	* gnu/xml/transform/ParameterNode.java,
	* gnu/xml/transform/ProcessingInstructionNode.java,
	* gnu/xml/transform/SAXSerializer.java,
	* gnu/xml/transform/SAXTemplatesHandler.java,
	* gnu/xml/transform/SAXTransformerHandler.java,
	* gnu/xml/transform/SortKey.java,
	* gnu/xml/transform/StreamSerializer.java,
	* gnu/xml/transform/StrippingInstruction.java,
	* gnu/xml/transform/Stylesheet.java,
	* gnu/xml/transform/SystemPropertyFunction.java,
	* gnu/xml/transform/Template.java,
	* gnu/xml/transform/TemplateNode.java,
	* gnu/xml/transform/TemplatesImpl.java,
	* gnu/xml/transform/TextNode.java,
	* gnu/xml/transform/TransformerFactoryImpl.java,
	* gnu/xml/transform/TransformerImpl.java,
	* gnu/xml/transform/TransformerOutputProperties.java,
	* gnu/xml/transform/URIResolverEntityResolver.java,
	* gnu/xml/transform/UnparsedEntityUriFunction.java,
	* gnu/xml/transform/ValueOfNode.java,
	* gnu/xml/transform/WhenNode.java,
	* gnu/xml/transform/WithParam.java,
	* gnu/xml/transform/XSLComparator.java,
	* gnu/xml/transform/XSLURIResolver.java,
	* gnu/xml/util/DoParse.java,
	* gnu/xml/util/DomParser.java,
	* gnu/xml/util/Resolver.java,
	* gnu/xml/util/SAXNullTransformerFactory.java,
	* gnu/xml/util/XCat.java,
	* gnu/xml/util/XHTMLWriter.java,
	* gnu/xml/util/XMLWriter.java,
	* gnu/xml/validation/datatype/Annotation.java,
	* gnu/xml/validation/datatype/AnySimpleType.java,
	* gnu/xml/validation/datatype/AnyType.java,
	* gnu/xml/validation/datatype/AnyURIType.java,
	* gnu/xml/validation/datatype/AtomicSimpleType.java,
	* gnu/xml/validation/datatype/Base64BinaryType.java,
	* gnu/xml/validation/datatype/BooleanType.java,
	* gnu/xml/validation/datatype/ByteType.java,
	* gnu/xml/validation/datatype/DateTimeType.java,
	* gnu/xml/validation/datatype/DateType.java,
	* gnu/xml/validation/datatype/DecimalType.java,
	* gnu/xml/validation/datatype/DoubleType.java,
	* gnu/xml/validation/datatype/DurationType.java,
	* gnu/xml/validation/datatype/EntitiesType.java,
	* gnu/xml/validation/datatype/EntityType.java,
	* gnu/xml/validation/datatype/EnumerationFacet.java,
	* gnu/xml/validation/datatype/Facet.java,
	* gnu/xml/validation/datatype/FloatType.java,
	* gnu/xml/validation/datatype/FractionDigitsFacet.java,
	* gnu/xml/validation/datatype/GDayType.java,
	* gnu/xml/validation/datatype/GMonthDayType.java,
	* gnu/xml/validation/datatype/GMonthType.java,
	* gnu/xml/validation/datatype/GYearMonthType.java,
	* gnu/xml/validation/datatype/GYearType.java,
	* gnu/xml/validation/datatype/HexBinaryType.java,
	* gnu/xml/validation/datatype/IDRefType.java,
	* gnu/xml/validation/datatype/IDRefsType.java,
	* gnu/xml/validation/datatype/IDType.java,
	* gnu/xml/validation/datatype/IntType.java,
	* gnu/xml/validation/datatype/IntegerType.java,
	* gnu/xml/validation/datatype/LanguageType.java,
	* gnu/xml/validation/datatype/LengthFacet.java,
	* gnu/xml/validation/datatype/ListSimpleType.java,
	* gnu/xml/validation/datatype/LongType.java,
	* gnu/xml/validation/datatype/MaxExclusiveFacet.java,
	* gnu/xml/validation/datatype/MaxInclusiveFacet.java,
	* gnu/xml/validation/datatype/MaxLengthFacet.java,
	* gnu/xml/validation/datatype/MinExclusiveFacet.java,
	* gnu/xml/validation/datatype/MinInclusiveFacet.java,
	* gnu/xml/validation/datatype/MinLengthFacet.java,
	* gnu/xml/validation/datatype/NCNameType.java,
	* gnu/xml/validation/datatype/NMTokenType.java,
	* gnu/xml/validation/datatype/NMTokensType.java,
	* gnu/xml/validation/datatype/NameType.java,
	* gnu/xml/validation/datatype/NegativeIntegerType.java,
	* gnu/xml/validation/datatype/NonNegativeIntegerType.java,
	* gnu/xml/validation/datatype/NonPositiveIntegerType.java,
	* gnu/xml/validation/datatype/NormalizedStringType.java,
	* gnu/xml/validation/datatype/NotationType.java,
	* gnu/xml/validation/datatype/PatternFacet.java,
	* gnu/xml/validation/datatype/PositiveIntegerType.java,
	* gnu/xml/validation/datatype/QNameType.java,
	* gnu/xml/validation/datatype/ShortType.java,
	* gnu/xml/validation/datatype/SimpleType.java,
	* gnu/xml/validation/datatype/StringType.java,
	* gnu/xml/validation/datatype/TimeType.java,
	* gnu/xml/validation/datatype/TokenType.java,
	* gnu/xml/validation/datatype/TotalDigitsFacet.java,
	* gnu/xml/validation/datatype/Type.java,
	* gnu/xml/validation/datatype/TypeBuilder.java,
	* gnu/xml/validation/datatype/TypeLibrary.java,
	* gnu/xml/validation/datatype/TypeLibraryFactory.java,
	* gnu/xml/validation/datatype/UnionSimpleType.java,
	* gnu/xml/validation/datatype/UnsignedByteType.java,
	* gnu/xml/validation/datatype/UnsignedIntType.java,
	* gnu/xml/validation/datatype/UnsignedLongType.java,
	* gnu/xml/validation/datatype/UnsignedShortType.java,
	* gnu/xml/validation/datatype/WhiteSpaceFacet.java,
	* gnu/xml/validation/relaxng/AnyNameNameClass.java,
	* gnu/xml/validation/relaxng/AttributePattern.java,
	* gnu/xml/validation/relaxng/ChoiceNameClass.java,
	* gnu/xml/validation/relaxng/ChoicePattern.java,
	* gnu/xml/validation/relaxng/DataPattern.java,
	* gnu/xml/validation/relaxng/Define.java,
	* gnu/xml/validation/relaxng/ElementPattern.java,
	* gnu/xml/validation/relaxng/EmptyPattern.java,
	* gnu/xml/validation/relaxng/FullSyntaxBuilder.java,
	* gnu/xml/validation/relaxng/Grammar.java,
	* gnu/xml/validation/relaxng/GrammarException.java,
	* gnu/xml/validation/relaxng/GrammarValidator.java,
	* gnu/xml/validation/relaxng/GroupPattern.java,
	* gnu/xml/validation/relaxng/InterleavePattern.java,
	* gnu/xml/validation/relaxng/ListPattern.java,
	* gnu/xml/validation/relaxng/NSNameNameClass.java,
	* gnu/xml/validation/relaxng/NameClass.java,
	* gnu/xml/validation/relaxng/NameNameClass.java,
	* gnu/xml/validation/relaxng/NotAllowedPattern.java,
	* gnu/xml/validation/relaxng/OneOrMorePattern.java,
	* gnu/xml/validation/relaxng/Param.java,
	* gnu/xml/validation/relaxng/Pattern.java,
	* gnu/xml/validation/relaxng/RELAXNGSchemaFactory.java,
	* gnu/xml/validation/relaxng/RefPattern.java,
	* gnu/xml/validation/relaxng/TextPattern.java,
	* gnu/xml/validation/relaxng/ValuePattern.java,
	* gnu/xml/validation/xmlschema/AnyAttribute.java,
	* gnu/xml/validation/xmlschema/AttributeDeclaration.java,
	* gnu/xml/validation/xmlschema/AttributeUse.java,
	* gnu/xml/validation/xmlschema/ComplexType.java,
	* gnu/xml/validation/xmlschema/ElementDeclaration.java,
	* gnu/xml/validation/xmlschema/Particle.java,
	* gnu/xml/validation/xmlschema/ValidationException.java,
	* gnu/xml/validation/xmlschema/XMLSchema.java,
	* gnu/xml/validation/xmlschema/XMLSchemaAttributeTypeInfo.java,
	* gnu/xml/validation/xmlschema/XMLSchemaBuilder.java,
	* gnu/xml/validation/xmlschema/XMLSchemaElementTypeInfo.java,
	* gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.java,
	* gnu/xml/validation/xmlschema/XMLSchemaTypeInfo.java,
	* gnu/xml/validation/xmlschema/XMLSchemaTypeInfoProvider.java,
	* gnu/xml/validation/xmlschema/XMLSchemaValidator.java,
	* gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.java,
	* gnu/xml/xpath/AndExpr.java,
	* gnu/xml/xpath/ArithmeticExpr.java,
	* gnu/xml/xpath/BooleanFunction.java,
	* gnu/xml/xpath/CeilingFunction.java,
	* gnu/xml/xpath/ConcatFunction.java,
	* gnu/xml/xpath/Constant.java,
	* gnu/xml/xpath/ContainsFunction.java,
	* gnu/xml/xpath/CountFunction.java,
	* gnu/xml/xpath/DocumentOrderComparator.java,
	* gnu/xml/xpath/EqualityExpr.java,
	* gnu/xml/xpath/Expr.java,
	* gnu/xml/xpath/FalseFunction.java,
	* gnu/xml/xpath/FloorFunction.java,
	* gnu/xml/xpath/Function.java,
	* gnu/xml/xpath/FunctionCall.java,
	* gnu/xml/xpath/IdFunction.java,
	* gnu/xml/xpath/LangFunction.java,
	* gnu/xml/xpath/LastFunction.java,
	* gnu/xml/xpath/LocalNameFunction.java,
	* gnu/xml/xpath/NameFunction.java,
	* gnu/xml/xpath/NameTest.java,
	* gnu/xml/xpath/NamespaceTest.java,
	* gnu/xml/xpath/NamespaceUriFunction.java,
	* gnu/xml/xpath/NegativeExpr.java,
	* gnu/xml/xpath/NodeTypeTest.java,
	* gnu/xml/xpath/NormalizeSpaceFunction.java,
	* gnu/xml/xpath/NotFunction.java,
	* gnu/xml/xpath/NumberFunction.java,
	* gnu/xml/xpath/OrExpr.java,
	* gnu/xml/xpath/ParenthesizedExpr.java,
	* gnu/xml/xpath/Path.java,
	* gnu/xml/xpath/Pattern.java,
	* gnu/xml/xpath/PositionFunction.java,
	* gnu/xml/xpath/Predicate.java,
	* gnu/xml/xpath/RelationalExpr.java,
	* gnu/xml/xpath/Root.java,
	* gnu/xml/xpath/RoundFunction.java,
	* gnu/xml/xpath/Selector.java,
	* gnu/xml/xpath/StartsWithFunction.java,
	* gnu/xml/xpath/Steps.java,
	* gnu/xml/xpath/StringFunction.java,
	* gnu/xml/xpath/StringLengthFunction.java,
	* gnu/xml/xpath/SubstringAfterFunction.java,
	* gnu/xml/xpath/SubstringBeforeFunction.java,
	* gnu/xml/xpath/SubstringFunction.java,
	* gnu/xml/xpath/SumFunction.java,
	* gnu/xml/xpath/Test.java,
	* gnu/xml/xpath/TranslateFunction.java,
	* gnu/xml/xpath/TrueFunction.java,
	* gnu/xml/xpath/UnionExpr.java,
	* gnu/xml/xpath/VariableReference.java,
	* gnu/xml/xpath/XPathFactoryImpl.java,
	* gnu/xml/xpath/XPathImpl.java,
	* gnu/xml/xpath/XPathParser.java,
	* gnu/xml/xpath/XPathTokenizer.java,
	* java/applet/Applet.java,
	* java/awt/AWTEvent.java,
	* java/awt/AWTEventMulticaster.java,
	* java/awt/AWTKeyStroke.java,
	* java/awt/AlphaComposite.java,
	* java/awt/BasicStroke.java,
	* java/awt/BorderLayout.java,
	* java/awt/BufferCapabilities.java,
	* java/awt/Button.java,
	* java/awt/Canvas.java,
	* java/awt/CardLayout.java,
	* java/awt/Checkbox.java,
	* java/awt/CheckboxGroup.java,
	* java/awt/CheckboxMenuItem.java,
	* java/awt/Choice.java,
	* java/awt/Color.java,
	* java/awt/ColorPaintContext.java,
	* java/awt/Component.java,
	* java/awt/Container.java,
	* java/awt/ContainerOrderFocusTraversalPolicy.java,
	* java/awt/Cursor.java,
	* java/awt/DefaultFocusTraversalPolicy.java,
	* java/awt/DefaultKeyboardFocusManager.java,
	* java/awt/Desktop.java,
	* java/awt/Dialog.java,
	* java/awt/DisplayMode.java,
	* java/awt/Event.java,
	* java/awt/EventDispatchThread.java,
	* java/awt/EventQueue.java,
	* java/awt/FileDialog.java,
	* java/awt/FlowLayout.java,
	* java/awt/FocusTraversalPolicy.java,
	* java/awt/Font.java,
	* java/awt/FontMetrics.java,
	* java/awt/Frame.java,
	* java/awt/GradientPaint.java,
	* java/awt/Graphics.java,
	* java/awt/Graphics2D.java,
	* java/awt/GraphicsConfiguration.java,
	* java/awt/GraphicsDevice.java,
	* java/awt/GridBagConstraints.java,
	* java/awt/GridBagLayout.java,
	* java/awt/GridLayout.java,
	* java/awt/Image.java,
	* java/awt/Insets.java,
	* java/awt/JobAttributes.java,
	* java/awt/KeyboardFocusManager.java,
	* java/awt/Label.java,
	* java/awt/LightweightDispatcher.java,
	* java/awt/List.java,
	* java/awt/MediaTracker.java,
	* java/awt/Menu.java,
	* java/awt/MenuBar.java,
	* java/awt/MenuComponent.java,
	* java/awt/MenuItem.java,
	* java/awt/MenuShortcut.java,
	* java/awt/MouseInfo.java,
	* java/awt/PageAttributes.java,
	* java/awt/Point.java,
	* java/awt/PointerInfo.java,
	* java/awt/Polygon.java,
	* java/awt/PopupMenu.java,
	* java/awt/Rectangle.java,
	* java/awt/RenderingHints.java,
	* java/awt/Robot.java,
	* java/awt/ScrollPane.java,
	* java/awt/ScrollPaneAdjustable.java,
	* java/awt/Scrollbar.java,
	* java/awt/Shape.java,
	* java/awt/SystemColor.java,
	* java/awt/TextArea.java,
	* java/awt/TextComponent.java,
	* java/awt/TextField.java,
	* java/awt/TexturePaint.java,
	* java/awt/Toolkit.java,
	* java/awt/Window.java,
	* java/awt/color/ICC_ColorSpace.java,
	* java/awt/color/ICC_Profile.java,
	* java/awt/color/ICC_ProfileGray.java,
	* java/awt/color/ICC_ProfileRGB.java,
	* java/awt/datatransfer/Clipboard.java,
	* java/awt/datatransfer/ClipboardOwner.java,
	* java/awt/datatransfer/DataFlavor.java,
	* java/awt/datatransfer/FlavorEvent.java,
	* java/awt/datatransfer/FlavorListener.java,
	* java/awt/datatransfer/MimeType.java,
	* java/awt/datatransfer/StringSelection.java,
	* java/awt/datatransfer/SystemFlavorMap.java,
	* java/awt/datatransfer/Transferable.java,
	* java/awt/datatransfer/UnsupportedFlavorException.java,
	* java/awt/dnd/Autoscroll.java,
	* java/awt/dnd/DnDEventMulticaster.java,
	* java/awt/dnd/DragGestureEvent.java,
	* java/awt/dnd/DragGestureRecognizer.java,
	* java/awt/dnd/DragSource.java,
	* java/awt/dnd/DragSourceContext.java,
	* java/awt/dnd/DragSourceDropEvent.java,
	* java/awt/dnd/DragSourceEvent.java,
	* java/awt/dnd/DropTarget.java,
	* java/awt/dnd/DropTargetContext.java,
	* java/awt/dnd/DropTargetDragEvent.java,
	* java/awt/dnd/DropTargetDropEvent.java,
	* java/awt/dnd/DropTargetEvent.java,
	* java/awt/dnd/MouseDragGestureRecognizer.java,
	* java/awt/dnd/peer/DropTargetContextPeer.java,
	* java/awt/event/AWTEventListener.java,
	* java/awt/event/ActionEvent.java,
	* java/awt/event/ComponentAdapter.java,
	* java/awt/event/ComponentEvent.java,
	* java/awt/event/InputEvent.java,
	* java/awt/event/InputMethodEvent.java,
	* java/awt/event/InvocationEvent.java,
	* java/awt/event/KeyEvent.java,
	* java/awt/event/MouseEvent.java,
	* java/awt/event/MouseListener.java,
	* java/awt/event/MouseWheelEvent.java,
	* java/awt/event/WindowEvent.java,
	* java/awt/font/FontRenderContext.java,
	* java/awt/font/GlyphJustificationInfo.java,
	* java/awt/font/GlyphMetrics.java,
	* java/awt/font/GlyphVector.java,
	* java/awt/font/GraphicAttribute.java,
	* java/awt/font/ImageGraphicAttribute.java,
	* java/awt/font/LineBreakMeasurer.java,
	* java/awt/font/LineMetrics.java,
	* java/awt/font/MultipleMaster.java,
	* java/awt/font/OpenType.java,
	* java/awt/font/ShapeGraphicAttribute.java,
	* java/awt/font/TextAttribute.java,
	* java/awt/font/TextHitInfo.java,
	* java/awt/font/TextLayout.java,
	* java/awt/font/TextMeasurer.java,
	* java/awt/font/TransformAttribute.java,
	* java/awt/geom/AffineTransform.java,
	* java/awt/geom/Arc2D.java,
	* java/awt/geom/Area.java,
	* java/awt/geom/CubicCurve2D.java,
	* java/awt/geom/Ellipse2D.java,
	* java/awt/geom/FlatteningPathIterator.java,
	* java/awt/geom/GeneralPath.java,
	* java/awt/geom/Line2D.java,
	* java/awt/geom/QuadCurve2D.java,
	* java/awt/geom/RectangularShape.java,
	* java/awt/geom/RoundRectangle2D.java,
	* java/awt/im/InputContext.java,
	* java/awt/im/spi/InputMethodDescriptor.java,
	* java/awt/image/AffineTransformOp.java,
	* java/awt/image/AreaAveragingScaleFilter.java,
	* java/awt/image/BandCombineOp.java,
	* java/awt/image/BandedSampleModel.java,
	* java/awt/image/BufferedImage.java,
	* java/awt/image/BufferedImageFilter.java,
	* java/awt/image/BufferedImageOp.java,
	* java/awt/image/ByteLookupTable.java,
	* java/awt/image/ColorConvertOp.java,
	* java/awt/image/ColorModel.java,
	* java/awt/image/ComponentColorModel.java,
	* java/awt/image/ComponentSampleModel.java,
	* java/awt/image/ConvolveOp.java,
	* java/awt/image/CropImageFilter.java,
	* java/awt/image/DataBuffer.java,
	* java/awt/image/DataBufferByte.java,
	* java/awt/image/DataBufferDouble.java,
	* java/awt/image/DataBufferFloat.java,
	* java/awt/image/DataBufferInt.java,
	* java/awt/image/DataBufferShort.java,
	* java/awt/image/DataBufferUShort.java,
	* java/awt/image/DirectColorModel.java,
	* java/awt/image/FilteredImageSource.java,
	* java/awt/image/ImageConsumer.java,
	* java/awt/image/ImageFilter.java,
	* java/awt/image/ImageObserver.java,
	* java/awt/image/ImageProducer.java,
	* java/awt/image/IndexColorModel.java,
	* java/awt/image/Kernel.java,
	* java/awt/image/LookupOp.java,
	* java/awt/image/LookupTable.java,
	* java/awt/image/MemoryImageSource.java,
	* java/awt/image/MultiPixelPackedSampleModel.java,
	* java/awt/image/PackedColorModel.java,
	* java/awt/image/PixelGrabber.java,
	* java/awt/image/PixelInterleavedSampleModel.java,
	* java/awt/image/RGBImageFilter.java,
	* java/awt/image/Raster.java,
	* java/awt/image/RasterOp.java,
	* java/awt/image/RenderedImage.java,
	* java/awt/image/ReplicateScaleFilter.java,
	* java/awt/image/RescaleOp.java,
	* java/awt/image/SampleModel.java,
	* java/awt/image/ShortLookupTable.java,
	* java/awt/image/SinglePixelPackedSampleModel.java,
	* java/awt/image/TileObserver.java,
	* java/awt/image/WritableRaster.java,
	* java/awt/image/WritableRenderedImage.java,
	* java/awt/image/renderable/ContextualRenderedImageFactory.java,
	* java/awt/image/renderable/ParameterBlock.java,
	* java/awt/image/renderable/RenderContext.java,
	* java/awt/image/renderable/RenderableImage.java,
	* java/awt/image/renderable/RenderableImageOp.java,
	* java/awt/image/renderable/RenderableImageProducer.java,
	* java/awt/image/renderable/RenderedImageFactory.java,
	* java/awt/peer/ButtonPeer.java,
	* java/awt/peer/CanvasPeer.java,
	* java/awt/peer/CheckboxMenuItemPeer.java,
	* java/awt/peer/CheckboxPeer.java,
	* java/awt/peer/ChoicePeer.java,
	* java/awt/peer/ComponentPeer.java,
	* java/awt/peer/ContainerPeer.java,
	* java/awt/peer/DesktopPeer.java,
	* java/awt/peer/DialogPeer.java,
	* java/awt/peer/FileDialogPeer.java,
	* java/awt/peer/FontPeer.java,
	* java/awt/peer/FramePeer.java,
	* java/awt/peer/LabelPeer.java,
	* java/awt/peer/LightweightPeer.java,
	* java/awt/peer/ListPeer.java,
	* java/awt/peer/MenuBarPeer.java,
	* java/awt/peer/MenuComponentPeer.java,
	* java/awt/peer/MenuItemPeer.java,
	* java/awt/peer/MenuPeer.java,
	* java/awt/peer/MouseInfoPeer.java,
	* java/awt/peer/PanelPeer.java,
	* java/awt/peer/PopupMenuPeer.java,
	* java/awt/peer/RobotPeer.java,
	* java/awt/peer/ScrollPanePeer.java,
	* java/awt/peer/ScrollbarPeer.java,
	* java/awt/peer/TextComponentPeer.java,
	* java/awt/peer/TextFieldPeer.java,
	* java/awt/peer/WindowPeer.java,
	* java/awt/print/Book.java,
	* java/awt/print/PageFormat.java,
	* java/awt/print/Pageable.java,
	* java/awt/print/Paper.java,
	* java/awt/print/PrinterGraphics.java,
	* java/awt/print/PrinterIOException.java,
	* java/awt/print/PrinterJob.java,
	* java/beans/AppletInitializer.java,
	* java/beans/BeanDescriptor.java,
	* java/beans/BeanInfo.java,
	* java/beans/Beans.java,
	* java/beans/Customizer.java,
	* java/beans/DefaultPersistenceDelegate.java,
	* java/beans/DesignMode.java,
	* java/beans/Encoder.java,
	* java/beans/EventHandler.java,
	* java/beans/EventSetDescriptor.java,
	* java/beans/Expression.java,
	* java/beans/FeatureDescriptor.java,
	* java/beans/IndexedPropertyChangeEvent.java,
	* java/beans/IndexedPropertyDescriptor.java,
	* java/beans/Introspector.java,
	* java/beans/MethodDescriptor.java,
	* java/beans/ParameterDescriptor.java,
	* java/beans/PersistenceDelegate.java,
	* java/beans/PropertyChangeSupport.java,
	* java/beans/PropertyDescriptor.java,
	* java/beans/PropertyEditor.java,
	* java/beans/PropertyEditorManager.java,
	* java/beans/SimpleBeanInfo.java,
	* java/beans/Statement.java,
	* java/beans/VetoableChangeSupport.java,
	* java/beans/Visibility.java,
	* java/beans/XMLDecoder.java,
	* java/beans/XMLEncoder.java,
	* java/beans/beancontext/BeanContext.java,
	* java/beans/beancontext/BeanContextChild.java,
	* java/beans/beancontext/BeanContextChildComponentProxy.java,
	* java/beans/beancontext/BeanContextChildSupport.java,
	* java/beans/beancontext/BeanContextContainerProxy.java,
	* java/beans/beancontext/BeanContextEvent.java,
	* java/beans/beancontext/BeanContextMembershipEvent.java,
	* java/beans/beancontext/BeanContextMembershipListener.java,
	* java/beans/beancontext/BeanContextProxy.java,
	* java/beans/beancontext/BeanContextServiceAvailableEvent.java,
	* java/beans/beancontext/BeanContextServiceProvider.java,
	* java/beans/beancontext/BeanContextServiceProviderBeanInfo.java,
	* java/beans/beancontext/BeanContextServiceRevokedEvent.java,
	* java/beans/beancontext/BeanContextServiceRevokedListener.java,
	* java/beans/beancontext/BeanContextServices.java,
	* java/beans/beancontext/BeanContextServicesListener.java,
	* java/beans/beancontext/BeanContextServicesSupport.java,
	* java/beans/beancontext/BeanContextSupport.java,
	* java/io/BufferedInputStream.java,
	* java/io/BufferedOutputStream.java,
	* java/io/BufferedReader.java,
	* java/io/BufferedWriter.java,
	* java/io/ByteArrayInputStream.java,
	* java/io/ByteArrayOutputStream.java,
	* java/io/CharArrayReader.java,
	* java/io/CharArrayWriter.java,
	* java/io/DataInput.java,
	* java/io/DataInputStream.java,
	* java/io/DataOutput.java,
	* java/io/DataOutputStream.java,
	* java/io/DeleteFileHelper.java,
	* java/io/EOFException.java,
	* java/io/Externalizable.java,
	* java/io/File.java,
	* java/io/FileDescriptor.java,
	* java/io/FileFilter.java,
	* java/io/FileInputStream.java,
	* java/io/FileOutputStream.java,
	* java/io/FilePermission.java,
	* java/io/FileReader.java,
	* java/io/FileWriter.java,
	* java/io/FilenameFilter.java,
	* java/io/FilterInputStream.java,
	* java/io/FilterOutputStream.java,
	* java/io/FilterReader.java,
	* java/io/FilterWriter.java,
	* java/io/InputStream.java,
	* java/io/InputStreamReader.java,
	* java/io/InvalidClassException.java,
	* java/io/LineNumberInputStream.java,
	* java/io/LineNumberReader.java,
	* java/io/ObjectInput.java,
	* java/io/ObjectInputStream.java,
	* java/io/ObjectInputValidation.java,
	* java/io/ObjectOutput.java,
	* java/io/ObjectOutputStream.java,
	* java/io/ObjectStreamClass.java,
	* java/io/ObjectStreamConstants.java,
	* java/io/ObjectStreamField.java,
	* java/io/OutputStream.java,
	* java/io/OutputStreamWriter.java,
	* java/io/PipedInputStream.java,
	* java/io/PipedOutputStream.java,
	* java/io/PipedReader.java,
	* java/io/PipedWriter.java,
	* java/io/PrintStream.java,
	* java/io/PrintWriter.java,
	* java/io/PushbackInputStream.java,
	* java/io/PushbackReader.java,
	* java/io/RandomAccessFile.java,
	* java/io/Reader.java,
	* java/io/SequenceInputStream.java,
	* java/io/Serializable.java,
	* java/io/SerializablePermission.java,
	* java/io/StreamTokenizer.java,
	* java/io/StringBufferInputStream.java,
	* java/io/StringReader.java,
	* java/io/StringWriter.java,
	* java/io/UnsupportedEncodingException.java,
	* java/io/Writer.java,
	* java/lang/AbstractStringBuffer.java,
	* java/lang/Boolean.java,
	* java/lang/Character.java,
	* java/lang/Class.java,
	* java/lang/ClassLoader.java,
	* java/lang/Comparable.java,
	* java/lang/Double.java,
	* java/lang/Enum.java,
	* java/lang/EnumConstantNotPresentException.java,
	* java/lang/Float.java,
	* java/lang/IllegalArgumentException.java,
	* java/lang/IllegalStateException.java,
	* java/lang/IndexOutOfBoundsException.java,
	* java/lang/Integer.java,
	* java/lang/Long.java,
	* java/lang/Math.java,
	* java/lang/NoClassDefFoundError.java,
	* java/lang/Object.java,
	* java/lang/Package.java,
	* java/lang/ProcessBuilder.java,
	* java/lang/Runtime.java,
	* java/lang/SecurityException.java,
	* java/lang/SecurityManager.java,
	* java/lang/StackTraceElement.java,
	* java/lang/StrictMath.java,
	* java/lang/String.java,
	* java/lang/StringBuffer.java,
	* java/lang/StringBuilder.java,
	* java/lang/System.java,
	* java/lang/Thread.java,
	* java/lang/ThreadLocal.java,
	* java/lang/Throwable.java,
	* java/lang/TypeNotPresentException.java,
	* java/lang/UnsupportedOperationException.java,
	* java/lang/annotation/Annotation.java,
	* java/lang/annotation/AnnotationTypeMismatchException.java,
	* java/lang/annotation/IncompleteAnnotationException.java,
	* java/lang/instrument/ClassFileTransformer.java,
	* java/lang/instrument/Instrumentation.java,
	* java/lang/management/ClassLoadingMXBean.java,
	* java/lang/management/CompilationMXBean.java,
	* java/lang/management/GarbageCollectorMXBean.java,
	* java/lang/management/ManagementFactory.java,
	* java/lang/management/ManagementPermission.java,
	* java/lang/management/MemoryMXBean.java,
	* java/lang/management/MemoryManagerMXBean.java,
	* java/lang/management/MemoryNotificationInfo.java,
	* java/lang/management/MemoryPoolMXBean.java,
	* java/lang/management/MemoryType.java,
	* java/lang/management/MemoryUsage.java,
	* java/lang/management/MonitorInfo.java,
	* java/lang/management/OperatingSystemMXBean.java,
	* java/lang/management/RuntimeMXBean.java,
	* java/lang/management/ThreadInfo.java,
	* java/lang/management/ThreadMXBean.java,
	* java/lang/ref/PhantomReference.java,
	* java/lang/ref/Reference.java,
	* java/lang/ref/ReferenceQueue.java,
	* java/lang/ref/SoftReference.java,
	* java/lang/ref/WeakReference.java,
	* java/lang/reflect/AccessibleObject.java,
	* java/lang/reflect/AnnotatedElement.java,
	* java/lang/reflect/Array.java,
	* java/lang/reflect/Constructor.java,
	* java/lang/reflect/Field.java,
	* java/lang/reflect/GenericArrayType.java,
	* java/lang/reflect/GenericDeclaration.java,
	* java/lang/reflect/InvocationHandler.java,
	* java/lang/reflect/MalformedParameterizedTypeException.java,
	* java/lang/reflect/Method.java,
	* java/lang/reflect/Modifier.java,
	* java/lang/reflect/Proxy.java,
	* java/lang/reflect/Type.java,
	* java/lang/reflect/TypeVariable.java,
	* java/lang/reflect/WildcardType.java,
	* java/math/BigDecimal.java,
	* java/math/BigInteger.java,
	* java/math/MathContext.java,
	* java/math/RoundingMode.java,
	* java/net/ContentHandler.java,
	* java/net/DatagramSocket.java,
	* java/net/DatagramSocketImpl.java,
	* java/net/HttpURLConnection.java,
	* java/net/Inet4Address.java,
	* java/net/Inet6Address.java,
	* java/net/InetAddress.java,
	* java/net/InetSocketAddress.java,
	* java/net/MimeTypeMapper.java,
	* java/net/MulticastSocket.java,
	* java/net/NetworkInterface.java,
	* java/net/Proxy.java,
	* java/net/ProxySelector.java,
	* java/net/ResolverCache.java,
	* java/net/ServerSocket.java,
	* java/net/Socket.java,
	* java/net/SocketPermission.java,
	* java/net/URI.java,
	* java/net/URL.java,
	* java/net/URLClassLoader.java,
	* java/net/URLConnection.java,
	* java/net/URLDecoder.java,
	* java/net/URLEncoder.java,
	* java/net/URLStreamHandler.java,
	* java/nio/Buffer.java,
	* java/nio/BufferOverflowException.java,
	* java/nio/BufferUnderflowException.java,
	* java/nio/ByteBuffer.java,
	* java/nio/ByteBufferHelper.java,
	* java/nio/ByteBufferImpl.java,
	* java/nio/ByteOrder.java,
	* java/nio/CharBuffer.java,
	* java/nio/CharBufferImpl.java,
	* java/nio/CharSequenceBuffer.java,
	* java/nio/CharViewBufferImpl.java,
	* java/nio/DirectByteBufferImpl.java,
	* java/nio/DoubleBuffer.java,
	* java/nio/DoubleBufferImpl.java,
	* java/nio/DoubleViewBufferImpl.java,
	* java/nio/FloatBuffer.java,
	* java/nio/FloatBufferImpl.java,
	* java/nio/FloatViewBufferImpl.java,
	* java/nio/IntBuffer.java,
	* java/nio/IntBufferImpl.java,
	* java/nio/IntViewBufferImpl.java,
	* java/nio/InvalidMarkException.java,
	* java/nio/LongBuffer.java,
	* java/nio/LongBufferImpl.java,
	* java/nio/LongViewBufferImpl.java,
	* java/nio/MappedByteBuffer.java,
	* java/nio/MappedByteBufferImpl.java,
	* java/nio/ReadOnlyBufferException.java,
	* java/nio/ShortBuffer.java,
	* java/nio/ShortBufferImpl.java,
	* java/nio/ShortViewBufferImpl.java,
	* java/nio/channels/FileChannel.java,
	* java/nio/channels/SocketChannel.java,
	* java/nio/channels/spi/AbstractInterruptibleChannel.java,
	* java/nio/channels/spi/AbstractSelectableChannel.java,
	* java/nio/channels/spi/AbstractSelectionKey.java,
	* java/nio/channels/spi/AbstractSelector.java,
	* java/nio/channels/spi/SelectorProvider.java,
	* java/nio/charset/CharacterCodingException.java,
	* java/nio/charset/Charset.java,
	* java/nio/charset/CharsetDecoder.java,
	* java/nio/charset/CharsetEncoder.java,
	* java/nio/charset/CoderMalfunctionError.java,
	* java/nio/charset/CoderResult.java,
	* java/nio/charset/CodingErrorAction.java,
	* java/nio/charset/IllegalCharsetNameException.java,
	* java/nio/charset/MalformedInputException.java,
	* java/nio/charset/UnmappableCharacterException.java,
	* java/nio/charset/UnsupportedCharsetException.java,
	* java/rmi/AccessException.java,
	* java/rmi/AlreadyBoundException.java,
	* java/rmi/MarshalledObject.java,
	* java/rmi/Naming.java,
	* java/rmi/NoSuchObjectException.java,
	* java/rmi/NotBoundException.java,
	* java/rmi/RMISecurityException.java,
	* java/rmi/RMISecurityManager.java,
	* java/rmi/Remote.java,
	* java/rmi/RemoteException.java,
	* java/rmi/StubNotFoundException.java,
	* java/rmi/UnknownHostException.java,
	* java/rmi/activation/Activatable.java,
	* java/rmi/activation/ActivationDesc.java,
	* java/rmi/activation/ActivationGroup.java,
	* java/rmi/activation/ActivationGroupDesc.java,
	* java/rmi/activation/ActivationGroupID.java,
	* java/rmi/activation/ActivationID.java,
	* java/rmi/activation/ActivationInstantiator.java,
	* java/rmi/activation/ActivationMonitor.java,
	* java/rmi/activation/ActivationSystem.java,
	* java/rmi/activation/Activator.java,
	* java/rmi/activation/UnknownGroupException.java,
	* java/rmi/dgc/DGC.java,
	* java/rmi/dgc/Lease.java,
	* java/rmi/dgc/VMID.java,
	* java/rmi/registry/LocateRegistry.java,
	* java/rmi/registry/Registry.java,
	* java/rmi/registry/RegistryHandler.java,
	* java/rmi/server/LoaderHandler.java,
	* java/rmi/server/LogStream.java,
	* java/rmi/server/ObjID.java,
	* java/rmi/server/Operation.java,
	* java/rmi/server/RMIClassLoader.java,
	* java/rmi/server/RMIClientSocketFactory.java,
	* java/rmi/server/RMIFailureHandler.java,
	* java/rmi/server/RMIServerSocketFactory.java,
	* java/rmi/server/RMISocketFactory.java,
	* java/rmi/server/RemoteCall.java,
	* java/rmi/server/RemoteObject.java,
	* java/rmi/server/RemoteObjectInvocationHandler.java,
	* java/rmi/server/RemoteRef.java,
	* java/rmi/server/RemoteServer.java,
	* java/rmi/server/RemoteStub.java,
	* java/rmi/server/ServerRef.java,
	* java/rmi/server/Skeleton.java,
	* java/rmi/server/UID.java,
	* java/rmi/server/UnicastRemoteObject.java,
	* java/rmi/server/Unreferenced.java,
	* java/security/AccessControlContext.java,
	* java/security/AccessController.java,
	* java/security/AlgorithmParameterGenerator.java,
	* java/security/AlgorithmParameterGeneratorSpi.java,
	* java/security/AlgorithmParameters.java,
	* java/security/AlgorithmParametersSpi.java,
	* java/security/CodeSource.java,
	* java/security/DigestInputStream.java,
	* java/security/DigestOutputStream.java,
	* java/security/GeneralSecurityException.java,
	* java/security/Identity.java,
	* java/security/IdentityScope.java,
	* java/security/KeyFactory.java,
	* java/security/KeyFactorySpi.java,
	* java/security/KeyPairGenerator.java,
	* java/security/KeyPairGeneratorSpi.java,
	* java/security/KeyStore.java,
	* java/security/KeyStoreSpi.java,
	* java/security/MessageDigest.java,
	* java/security/MessageDigestSpi.java,
	* java/security/Permission.java,
	* java/security/Permissions.java,
	* java/security/Policy.java,
	* java/security/ProtectionDomain.java,
	* java/security/Provider.java,
	* java/security/ProviderException.java,
	* java/security/SecureClassLoader.java,
	* java/security/SecureRandom.java,
	* java/security/SecureRandomSpi.java,
	* java/security/Security.java,
	* java/security/Signature.java,
	* java/security/SignatureSpi.java,
	* java/security/SignedObject.java,
	* java/security/Signer.java,
	* java/security/acl/Acl.java,
	* java/security/acl/AclEntry.java,
	* java/security/acl/Group.java,
	* java/security/acl/Owner.java,
	* java/security/cert/CRL.java,
	* java/security/cert/CRLSelector.java,
	* java/security/cert/CertPathBuilder.java,
	* java/security/cert/CertPathBuilderResult.java,
	* java/security/cert/CertPathValidator.java,
	* java/security/cert/CertPathValidatorResult.java,
	* java/security/cert/CertPathValidatorSpi.java,
	* java/security/cert/CertSelector.java,
	* java/security/cert/CertStore.java,
	* java/security/cert/CertStoreParameters.java,
	* java/security/cert/CertStoreSpi.java,
	* java/security/cert/Certificate.java,
	* java/security/cert/CertificateFactory.java,
	* java/security/cert/CertificateFactorySpi.java,
	* java/security/cert/CollectionCertStoreParameters.java,
	* java/security/cert/LDAPCertStoreParameters.java,
	* java/security/cert/PKIXBuilderParameters.java,
	* java/security/cert/PKIXCertPathBuilderResult.java,
	* java/security/cert/PKIXCertPathChecker.java,
	* java/security/cert/PKIXCertPathValidatorResult.java,
	* java/security/cert/PKIXParameters.java,
	* java/security/cert/PolicyNode.java,
	* java/security/cert/PolicyQualifierInfo.java,
	* java/security/cert/X509CRL.java,
	* java/security/cert/X509CRLEntry.java,
	* java/security/cert/X509CertSelector.java,
	* java/security/cert/X509Certificate.java,
	* java/security/cert/X509Extension.java,
	* java/security/spec/AlgorithmParameterSpec.java,
	* java/security/spec/DSAParameterSpec.java,
	* java/security/spec/DSAPrivateKeySpec.java,
	* java/security/spec/DSAPublicKeySpec.java,
	* java/security/spec/EncodedKeySpec.java,
	* java/security/spec/InvalidParameterSpecException.java,
	* java/security/spec/KeySpec.java,
	* java/security/spec/PKCS8EncodedKeySpec.java,
	* java/security/spec/PSSParameterSpec.java,
	* java/security/spec/RSAKeyGenParameterSpec.java,
	* java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java,
	* java/security/spec/RSAOtherPrimeInfo.java,
	* java/security/spec/RSAPrivateCrtKeySpec.java,
	* java/security/spec/RSAPrivateKeySpec.java,
	* java/security/spec/RSAPublicKeySpec.java,
	* java/security/spec/X509EncodedKeySpec.java,
	* java/sql/Array.java,
	* java/sql/BatchUpdateException.java,
	* java/sql/Blob.java,
	* java/sql/CallableStatement.java,
	* java/sql/Clob.java,
	* java/sql/Connection.java,
	* java/sql/DataTruncation.java,
	* java/sql/DatabaseMetaData.java,
	* java/sql/Date.java,
	* java/sql/Driver.java,
	* java/sql/DriverManager.java,
	* java/sql/DriverPropertyInfo.java,
	* java/sql/ParameterMetaData.java,
	* java/sql/PreparedStatement.java,
	* java/sql/Ref.java,
	* java/sql/ResultSet.java,
	* java/sql/ResultSetMetaData.java,
	* java/sql/SQLData.java,
	* java/sql/SQLException.java,
	* java/sql/SQLInput.java,
	* java/sql/SQLOutput.java,
	* java/sql/SQLPermission.java,
	* java/sql/SQLWarning.java,
	* java/sql/Savepoint.java,
	* java/sql/Statement.java,
	* java/sql/Struct.java,
	* java/sql/Time.java,
	* java/sql/Timestamp.java,
	* java/sql/Types.java,
	* java/text/Annotation.java,
	* java/text/AttributedCharacterIterator.java,
	* java/text/AttributedString.java,
	* java/text/AttributedStringIterator.java,
	* java/text/Bidi.java,
	* java/text/BreakIterator.java,
	* java/text/CharacterIterator.java,
	* java/text/ChoiceFormat.java,
	* java/text/CollationElementIterator.java,
	* java/text/CollationKey.java,
	* java/text/Collator.java,
	* java/text/DateFormat.java,
	* java/text/DateFormatSymbols.java,
	* java/text/DecimalFormat.java,
	* java/text/DecimalFormatSymbols.java,
	* java/text/FieldPosition.java,
	* java/text/Format.java,
	* java/text/MessageFormat.java,
	* java/text/NumberFormat.java,
	* java/text/ParsePosition.java,
	* java/text/RuleBasedCollator.java,
	* java/text/SimpleDateFormat.java,
	* java/text/StringCharacterIterator.java,
	* java/text/spi/DateFormatProvider.java,
	* java/text/spi/NumberFormatProvider.java,
	* java/util/AbstractCollection.java,
	* java/util/AbstractList.java,
	* java/util/AbstractMap.java,
	* java/util/AbstractSet.java,
	* java/util/ArrayList.java,
	* java/util/Arrays.java,
	* java/util/BitSet.java,
	* java/util/Calendar.java,
	* java/util/Collections.java,
	* java/util/Currency.java,
	* java/util/Date.java,
	* java/util/Dictionary.java,
	* java/util/DuplicateFormatFlagsException.java,
	* java/util/EnumMap.java,
	* java/util/EnumSet.java,
	* java/util/FormatFlagsConversionMismatchException.java,
	* java/util/Formattable.java,
	* java/util/FormattableFlags.java,
	* java/util/Formatter.java,
	* java/util/FormatterClosedException.java,
	* java/util/GregorianCalendar.java,
	* java/util/HashMap.java,
	* java/util/Hashtable.java,
	* java/util/IdentityHashMap.java,
	* java/util/IllegalFormatCodePointException.java,
	* java/util/IllegalFormatConversionException.java,
	* java/util/IllegalFormatException.java,
	* java/util/IllegalFormatFlagsException.java,
	* java/util/IllegalFormatPrecisionException.java,
	* java/util/IllegalFormatWidthException.java,
	* java/util/InputMismatchException.java,
	* java/util/LinkedHashMap.java,
	* java/util/LinkedHashSet.java,
	* java/util/LinkedList.java,
	* java/util/List.java,
	* java/util/Locale.java,
	* java/util/Map.java,
	* java/util/MissingFormatArgumentException.java,
	* java/util/MissingFormatWidthException.java,
	* java/util/PriorityQueue.java,
	* java/util/Properties.java,
	* java/util/PropertyPermission.java,
	* java/util/PropertyPermissionCollection.java,
	* java/util/Random.java,
	* java/util/ResourceBundle.java,
	* java/util/ServiceConfigurationError.java,
	* java/util/ServiceLoader.java,
	* java/util/SimpleTimeZone.java,
	* java/util/StringTokenizer.java,
	* java/util/TimeZone.java,
	* java/util/Timer.java,
	* java/util/TreeMap.java,
	* java/util/TreeSet.java,
	* java/util/UUID.java,
	* java/util/UnknownFormatConversionException.java,
	* java/util/UnknownFormatFlagsException.java,
	* java/util/Vector.java,
	* java/util/WeakHashMap.java,
	* java/util/concurrent/CopyOnWriteArrayList.java,
	* java/util/jar/Attributes.java,
	* java/util/jar/JarEntry.java,
	* java/util/jar/JarFile.java,
	* java/util/jar/JarInputStream.java,
	* java/util/jar/JarOutputStream.java,
	* java/util/jar/Manifest.java,
	* java/util/logging/ConsoleHandler.java,
	* java/util/logging/ErrorManager.java,
	* java/util/logging/FileHandler.java,
	* java/util/logging/Formatter.java,
	* java/util/logging/Handler.java,
	* java/util/logging/Level.java,
	* java/util/logging/LogManager.java,
	* java/util/logging/LogRecord.java,
	* java/util/logging/Logger.java,
	* java/util/logging/LoggingMXBean.java,
	* java/util/logging/LoggingPermission.java,
	* java/util/logging/MemoryHandler.java,
	* java/util/logging/SocketHandler.java,
	* java/util/logging/StreamHandler.java,
	* java/util/logging/XMLFormatter.java,
	* java/util/prefs/AbstractPreferences.java,
	* java/util/prefs/NodeChangeEvent.java,
	* java/util/prefs/NodeChangeListener.java,
	* java/util/prefs/PreferenceChangeEvent.java,
	* java/util/prefs/PreferenceChangeListener.java,
	* java/util/prefs/Preferences.java,
	* java/util/prefs/PreferencesFactory.java,
	* java/util/regex/MatchResult.java,
	* java/util/regex/Pattern.java,
	* java/util/regex/PatternSyntaxException.java,
	* java/util/spi/LocaleNameProvider.java,
	* java/util/spi/TimeZoneNameProvider.java,
	* java/util/zip/Adler32.java,
	* java/util/zip/CRC32.java,
	* java/util/zip/CheckedInputStream.java,
	* java/util/zip/CheckedOutputStream.java,
	* java/util/zip/Deflater.java,
	* java/util/zip/DeflaterEngine.java,
	* java/util/zip/DeflaterHuffman.java,
	* java/util/zip/DeflaterOutputStream.java,
	* java/util/zip/DeflaterPending.java,
	* java/util/zip/GZIPInputStream.java,
	* java/util/zip/GZIPOutputStream.java,
	* java/util/zip/Inflater.java,
	* java/util/zip/InflaterDynHeader.java,
	* java/util/zip/InflaterHuffmanTree.java,
	* java/util/zip/InflaterInputStream.java,
	* java/util/zip/OutputWindow.java,
	* java/util/zip/PendingBuffer.java,
	* java/util/zip/StreamManipulator.java,
	* java/util/zip/ZipConstants.java,
	* java/util/zip/ZipEntry.java,
	* java/util/zip/ZipFile.java,
	* java/util/zip/ZipInputStream.java,
	* java/util/zip/ZipOutputStream.java,
	* javax/accessibility/AccessibleExtendedText.java,
	* javax/accessibility/AccessibleRelation.java,
	* javax/accessibility/AccessibleRole.java,
	* javax/accessibility/AccessibleState.java,
	* javax/activation/ActivationDataFlavor.java,
	* javax/activation/CommandInfo.java,
	* javax/activation/CommandMap.java,
	* javax/activation/CommandObject.java,
	* javax/activation/DataContentHandler.java,
	* javax/activation/DataContentHandlerFactory.java,
	* javax/activation/DataHandler.java,
	* javax/activation/DataHandlerDataSource.java,
	* javax/activation/DataSource.java,
	* javax/activation/DataSourceDataContentHandler.java,
	* javax/activation/FileDataSource.java,
	* javax/activation/FileTypeMap.java,
	* javax/activation/MailcapCommandMap.java,
	* javax/activation/MimeType.java,
	* javax/activation/MimeTypeParameterList.java,
	* javax/activation/MimeTypeParseException.java,
	* javax/activation/MimetypesFileTypeMap.java,
	* javax/activation/ObjectDataContentHandler.java,
	* javax/activation/URLDataSource.java,
	* javax/activation/UnsupportedDataTypeException.java,
	* javax/crypto/Cipher.java,
	* javax/crypto/CipherOutputStream.java,
	* javax/crypto/ExemptionMechanism.java,
	* javax/crypto/KeyAgreement.java,
	* javax/crypto/KeyGenerator.java,
	* javax/crypto/Mac.java,
	* javax/crypto/MacSpi.java,
	* javax/crypto/SecretKeyFactory.java,
	* javax/crypto/spec/PBEKeySpec.java,
	* javax/imageio/IIOImage.java,
	* javax/imageio/IIOParam.java,
	* javax/imageio/IIOParamController.java,
	* javax/imageio/ImageIO.java,
	* javax/imageio/ImageReadParam.java,
	* javax/imageio/ImageReader.java,
	* javax/imageio/ImageTranscoder.java,
	* javax/imageio/ImageTypeSpecifier.java,
	* javax/imageio/ImageWriteParam.java,
	* javax/imageio/ImageWriter.java,
	* javax/imageio/event/IIOReadProgressListener.java,
	* javax/imageio/event/IIOReadUpdateListener.java,
	* javax/imageio/event/IIOWriteProgressListener.java,
	* javax/imageio/metadata/IIOInvalidTreeException.java,
	* javax/imageio/metadata/IIOMetadata.java,
	* javax/imageio/metadata/IIOMetadataFormatImpl.java,
	* javax/imageio/metadata/IIOMetadataNode.java,
	* javax/imageio/plugins/bmp/BMPImageWriteParam.java,
	* javax/imageio/plugins/jpeg/JPEGHuffmanTable.java,
	* javax/imageio/spi/IIORegistry.java,
	* javax/imageio/spi/ImageReaderSpi.java,
	* javax/imageio/spi/ImageWriterSpi.java,
	* javax/imageio/spi/RegisterableService.java,
	* javax/imageio/spi/ServiceRegistry.java,
	* javax/imageio/stream/FileCacheImageInputStream.java,
	* javax/imageio/stream/FileCacheImageOutputStream.java,
	* javax/imageio/stream/FileImageInputStream.java,
	* javax/imageio/stream/FileImageOutputStream.java,
	* javax/imageio/stream/ImageInputStream.java,
	* javax/imageio/stream/ImageInputStreamImpl.java,
	* javax/imageio/stream/ImageOutputStreamImpl.java,
	* javax/imageio/stream/MemoryCacheImageInputStream.java,
	* javax/imageio/stream/MemoryCacheImageOutputStream.java,
	* javax/management/Attribute.java,
	* javax/management/AttributeChangeNotification.java,
	* javax/management/AttributeChangeNotificationFilter.java,
	* javax/management/AttributeList.java,
	* javax/management/AttributeNotFoundException.java,
	* javax/management/AttributeValueExp.java,
	* javax/management/BadAttributeValueExpException.java,
	* javax/management/BadBinaryOpValueExpException.java,
	* javax/management/BadStringOperationException.java,
	* javax/management/DefaultLoaderRepository.java,
	* javax/management/Descriptor.java,
	* javax/management/DynamicMBean.java,
	* javax/management/InstanceAlreadyExistsException.java,
	* javax/management/InstanceNotFoundException.java,
	* javax/management/IntrospectionException.java,
	* javax/management/InvalidApplicationException.java,
	* javax/management/InvalidAttributeValueException.java,
	* javax/management/JMException.java,
	* javax/management/JMRuntimeException.java,
	* javax/management/JMX.java,
	* javax/management/ListenerNotFoundException.java,
	* javax/management/MBeanAttributeInfo.java,
	* javax/management/MBeanConstructorInfo.java,
	* javax/management/MBeanException.java,
	* javax/management/MBeanFeatureInfo.java,
	* javax/management/MBeanInfo.java,
	* javax/management/MBeanNotificationInfo.java,
	* javax/management/MBeanOperationInfo.java,
	* javax/management/MBeanParameterInfo.java,
	* javax/management/MBeanPermission.java,
	* javax/management/MBeanRegistrationException.java,
	* javax/management/MBeanServer.java,
	* javax/management/MBeanServerBuilder.java,
	* javax/management/MBeanServerConnection.java,
	* javax/management/MBeanServerDelegate.java,
	* javax/management/MBeanServerFactory.java,
	* javax/management/MBeanServerInvocationHandler.java,
	* javax/management/MBeanServerNotification.java,
	* javax/management/MBeanServerPermission.java,
	* javax/management/MBeanTrustPermission.java,
	* javax/management/MalformedObjectNameException.java,
	* javax/management/NotCompliantMBeanException.java,
	* javax/management/Notification.java,
	* javax/management/NotificationBroadcaster.java,
	* javax/management/NotificationBroadcasterSupport.java,
	* javax/management/NotificationEmitter.java,
	* javax/management/NotificationFilter.java,
	* javax/management/NotificationFilterSupport.java,
	* javax/management/NotificationListener.java,
	* javax/management/ObjectInstance.java,
	* javax/management/ObjectName.java,
	* javax/management/OperationsException.java,
	* javax/management/PersistentMBean.java,
	* javax/management/Query.java,
	* javax/management/QueryEval.java,
	* javax/management/QueryExp.java,
	* javax/management/ReflectionException.java,
	* javax/management/RuntimeErrorException.java,
	* javax/management/RuntimeMBeanException.java,
	* javax/management/RuntimeOperationsException.java,
	* javax/management/ServiceNotFoundException.java,
	* javax/management/StandardMBean.java,
	* javax/management/StringValueExp.java,
	* javax/management/ValueExp.java,
	* javax/management/loading/ClassLoaderRepository.java,
	* javax/management/openmbean/ArrayType.java,
	* javax/management/openmbean/CompositeData.java,
	* javax/management/openmbean/CompositeDataInvocationHandler.java,
	* javax/management/openmbean/CompositeDataSupport.java,
	* javax/management/openmbean/CompositeType.java,
	* javax/management/openmbean/InvalidKeyException.java,
	* javax/management/openmbean/InvalidOpenTypeException.java,
	* javax/management/openmbean/KeyAlreadyExistsException.java,
	* javax/management/openmbean/OpenDataException.java,
	* javax/management/openmbean/OpenMBeanAttributeInfo.java,
	* javax/management/openmbean/OpenMBeanAttributeInfoSupport.java,
	* javax/management/openmbean/OpenMBeanConstructorInfo.java,
	* javax/management/openmbean/OpenMBeanConstructorInfoSupport.java,
	* javax/management/openmbean/OpenMBeanInfo.java,
	* javax/management/openmbean/OpenMBeanInfoSupport.java,
	* javax/management/openmbean/OpenMBeanOperationInfo.java,
	* javax/management/openmbean/OpenMBeanOperationInfoSupport.java,
	* javax/management/openmbean/OpenMBeanParameterInfo.java,
	* javax/management/openmbean/OpenMBeanParameterInfoSupport.java,
	* javax/management/openmbean/OpenType.java,
	* javax/management/openmbean/SimpleType.java,
	* javax/management/openmbean/TabularData.java,
	* javax/management/openmbean/TabularDataSupport.java,
	* javax/management/openmbean/TabularType.java,
	* javax/management/remote/NotificationResult.java,
	* javax/management/remote/TargetedNotification.java,
	* javax/management/remote/rmi/RMIConnection.java,
	* javax/naming/AuthenticationException.java,
	* javax/naming/AuthenticationNotSupportedException.java,
	* javax/naming/BinaryRefAddr.java,
	* javax/naming/Binding.java,
	* javax/naming/CannotProceedException.java,
	* javax/naming/CommunicationException.java,
	* javax/naming/CompositeName.java,
	* javax/naming/CompoundName.java,
	* javax/naming/ConfigurationException.java,
	* javax/naming/Context.java,
	* javax/naming/ContextNotEmptyException.java,
	* javax/naming/InitialContext.java,
	* javax/naming/InsufficientResourcesException.java,
	* javax/naming/InterruptedNamingException.java,
	* javax/naming/InvalidNameException.java,
	* javax/naming/LimitExceededException.java,
	* javax/naming/LinkException.java,
	* javax/naming/LinkLoopException.java,
	* javax/naming/MalformedLinkException.java,
	* javax/naming/Name.java,
	* javax/naming/NameAlreadyBoundException.java,
	* javax/naming/NameClassPair.java,
	* javax/naming/NameNotFoundException.java,
	* javax/naming/NameParser.java,
	* javax/naming/NamingEnumeration.java,
	* javax/naming/NamingException.java,
	* javax/naming/NamingSecurityException.java,
	* javax/naming/NoInitialContextException.java,
	* javax/naming/NoPermissionException.java,
	* javax/naming/NotContextException.java,
	* javax/naming/PartialResultException.java,
	* javax/naming/RefAddr.java,
	* javax/naming/Reference.java,
	* javax/naming/Referenceable.java,
	* javax/naming/ReferralException.java,
	* javax/naming/ServiceUnavailableException.java,
	* javax/naming/SizeLimitExceededException.java,
	* javax/naming/StringRefAddr.java,
	* javax/naming/TimeLimitExceededException.java,
	* javax/naming/directory/AttributeInUseException.java,
	* javax/naming/directory/Attributes.java,
	* javax/naming/directory/BasicAttribute.java,
	* javax/naming/directory/BasicAttributes.java,
	* javax/naming/directory/InitialDirContext.java,
	* javax/naming/directory/ModificationItem.java,
	* javax/naming/directory/SearchControls.java,
	* javax/naming/directory/SearchResult.java,
	* javax/naming/event/EventContext.java,
	* javax/naming/event/NamespaceChangeListener.java,
	* javax/naming/event/NamingEvent.java,
	* javax/naming/event/NamingExceptionEvent.java,
	* javax/naming/event/NamingListener.java,
	* javax/naming/event/ObjectChangeListener.java,
	* javax/naming/ldap/Control.java,
	* javax/naming/ldap/ControlFactory.java,
	* javax/naming/ldap/ExtendedRequest.java,
	* javax/naming/ldap/ExtendedResponse.java,
	* javax/naming/ldap/HasControls.java,
	* javax/naming/ldap/InitialLdapContext.java,
	* javax/naming/ldap/LdapContext.java,
	* javax/naming/ldap/LdapReferralException.java,
	* javax/naming/ldap/StartTlsRequest.java,
	* javax/naming/ldap/UnsolicitedNotification.java,
	* javax/naming/ldap/UnsolicitedNotificationEvent.java,
	* javax/naming/ldap/UnsolicitedNotificationListener.java,
	* javax/naming/spi/DirObjectFactory.java,
	* javax/naming/spi/DirStateFactory.java,
	* javax/naming/spi/DirectoryManager.java,
	* javax/naming/spi/InitialContextFactory.java,
	* javax/naming/spi/InitialContextFactoryBuilder.java,
	* javax/naming/spi/NamingManager.java,
	* javax/naming/spi/ObjectFactory.java,
	* javax/naming/spi/ObjectFactoryBuilder.java,
	* javax/naming/spi/ResolveResult.java,
	* javax/naming/spi/Resolver.java,
	* javax/naming/spi/StateFactory.java,
	* javax/net/ssl/CertPathTrustManagerParameters.java,
	* javax/net/ssl/KeyManagerFactory.java,
	* javax/net/ssl/KeyStoreBuilderParameters.java,
	* javax/net/ssl/SSLContext.java,
	* javax/net/ssl/SSLEngine.java,
	* javax/net/ssl/SSLEngineResult.java,
	* javax/net/ssl/SSLException.java,
	* javax/net/ssl/TrustManagerFactory.java,
	* javax/net/ssl/X509ExtendedKeyManager.java,
	* javax/print/AttributeException.java,
	* javax/print/CancelablePrintJob.java,
	* javax/print/Doc.java,
	* javax/print/DocFlavor.java,
	* javax/print/DocPrintJob.java,
	* javax/print/FlavorException.java,
	* javax/print/MultiDoc.java,
	* javax/print/MultiDocPrintJob.java,
	* javax/print/MultiDocPrintService.java,
	* javax/print/PrintException.java,
	* javax/print/PrintService.java,
	* javax/print/PrintServiceLookup.java,
	* javax/print/ServiceUI.java,
	* javax/print/ServiceUIFactory.java,
	* javax/print/SimpleDoc.java,
	* javax/print/StreamPrintService.java,
	* javax/print/StreamPrintServiceFactory.java,
	* javax/print/URIException.java,
	* javax/print/attribute/Attribute.java,
	* javax/print/attribute/AttributeSet.java,
	* javax/print/attribute/AttributeSetUtilities.java,
	* javax/print/attribute/DateTimeSyntax.java,
	* javax/print/attribute/DocAttribute.java,
	* javax/print/attribute/DocAttributeSet.java,
	* javax/print/attribute/EnumSyntax.java,
	* javax/print/attribute/HashAttributeSet.java,
	* javax/print/attribute/HashDocAttributeSet.java,
	* javax/print/attribute/HashPrintJobAttributeSet.java,
	* javax/print/attribute/HashPrintRequestAttributeSet.java,
	* javax/print/attribute/HashPrintServiceAttributeSet.java,
	* javax/print/attribute/IntegerSyntax.java,
	* javax/print/attribute/PrintJobAttribute.java,
	* javax/print/attribute/PrintJobAttributeSet.java,
	* javax/print/attribute/PrintRequestAttribute.java,
	* javax/print/attribute/PrintRequestAttributeSet.java,
	* javax/print/attribute/PrintServiceAttribute.java,
	* javax/print/attribute/PrintServiceAttributeSet.java,
	* javax/print/attribute/ResolutionSyntax.java,
	* javax/print/attribute/SetOfIntegerSyntax.java,
	* javax/print/attribute/Size2DSyntax.java,
	* javax/print/attribute/SupportedValuesAttribute.java,
	* javax/print/attribute/TextSyntax.java,
	* javax/print/attribute/URISyntax.java,
	* javax/print/attribute/UnmodifiableSetException.java,
	* javax/print/attribute/standard/Chromaticity.java,
	* javax/print/attribute/standard/ColorSupported.java,
	* javax/print/attribute/standard/Compression.java,
	* javax/print/attribute/standard/Copies.java,
	* javax/print/attribute/standard/CopiesSupported.java,
	* javax/print/attribute/standard/DateTimeAtCompleted.java,
	* javax/print/attribute/standard/DateTimeAtCreation.java,
	* javax/print/attribute/standard/DateTimeAtProcessing.java,
	* javax/print/attribute/standard/Destination.java,
	* javax/print/attribute/standard/DocumentName.java,
	* javax/print/attribute/standard/Fidelity.java,
	* javax/print/attribute/standard/Finishings.java,
	* javax/print/attribute/standard/JobHoldUntil.java,
	* javax/print/attribute/standard/JobImpressions.java,
	* javax/print/attribute/standard/JobImpressionsCompleted.java,
	* javax/print/attribute/standard/JobImpressionsSupported.java,
	* javax/print/attribute/standard/JobKOctets.java,
	* javax/print/attribute/standard/JobKOctetsProcessed.java,
	* javax/print/attribute/standard/JobKOctetsSupported.java,
	* javax/print/attribute/standard/JobMediaSheets.java,
	* javax/print/attribute/standard/JobMediaSheetsCompleted.java,
	* javax/print/attribute/standard/JobMediaSheetsSupported.java,
	* javax/print/attribute/standard/JobMessageFromOperator.java,
	* javax/print/attribute/standard/JobName.java,
	* javax/print/attribute/standard/JobOriginatingUserName.java,
	* javax/print/attribute/standard/JobPriority.java,
	* javax/print/attribute/standard/JobPrioritySupported.java,
	* javax/print/attribute/standard/JobSheets.java,
	* javax/print/attribute/standard/JobState.java,
	* javax/print/attribute/standard/JobStateReason.java,
	* javax/print/attribute/standard/JobStateReasons.java,
	* javax/print/attribute/standard/Media.java,
	* javax/print/attribute/standard/MediaName.java,
	* javax/print/attribute/standard/MediaPrintableArea.java,
	* javax/print/attribute/standard/MediaSize.java,
	* javax/print/attribute/standard/MediaSizeName.java,
	* javax/print/attribute/standard/MediaTray.java,
	* javax/print/attribute/standard/MultipleDocumentHandling.java,
	* javax/print/attribute/standard/NumberOfDocuments.java,
	* javax/print/attribute/standard/NumberOfInterveningJobs.java,
	* javax/print/attribute/standard/NumberUp.java,
	* javax/print/attribute/standard/NumberUpSupported.java,
	* javax/print/attribute/standard/OrientationRequested.java,
	* javax/print/attribute/standard/OutputDeviceAssigned.java,
	* javax/print/attribute/standard/PDLOverrideSupported.java,
	* javax/print/attribute/standard/PageRanges.java,
	* javax/print/attribute/standard/PagesPerMinute.java,
	* javax/print/attribute/standard/PagesPerMinuteColor.java,
	* javax/print/attribute/standard/PresentationDirection.java,
	* javax/print/attribute/standard/PrintQuality.java,
	* javax/print/attribute/standard/PrinterInfo.java,
	* javax/print/attribute/standard/PrinterIsAcceptingJobs.java,
	* javax/print/attribute/standard/PrinterLocation.java,
	* javax/print/attribute/standard/PrinterMakeAndModel.java,
	* javax/print/attribute/standard/PrinterMessageFromOperator.java,
	* javax/print/attribute/standard/PrinterMoreInfo.java,
	* javax/print/attribute/standard/PrinterMoreInfoManufacturer.java,
	* javax/print/attribute/standard/PrinterName.java,
	* javax/print/attribute/standard/PrinterResolution.java,
	* javax/print/attribute/standard/PrinterState.java,
	* javax/print/attribute/standard/PrinterStateReason.java,
	* javax/print/attribute/standard/PrinterStateReasons.java,
	* javax/print/attribute/standard/PrinterURI.java,
	* javax/print/attribute/standard/QueuedJobCount.java,
	* javax/print/attribute/standard/ReferenceUriSchemesSupported.java,
	* javax/print/attribute/standard/RequestingUserName.java,
	* javax/print/attribute/standard/Severity.java,
	* javax/print/attribute/standard/SheetCollate.java,
	* javax/print/attribute/standard/Sides.java,
	* javax/print/event/PrintEvent.java,
	* javax/print/event/PrintJobAdapter.java,
	* javax/print/event/PrintJobAttributeEvent.java,
	* javax/print/event/PrintJobAttributeListener.java,
	* javax/print/event/PrintJobEvent.java,
	* javax/print/event/PrintJobListener.java,
	* javax/print/event/PrintServiceAttributeEvent.java,
	* javax/print/event/PrintServiceAttributeListener.java,
	* javax/rmi/CORBA/ClassDesc.java,
	* javax/rmi/CORBA/PortableRemoteObjectDelegate.java,
	* javax/rmi/CORBA/Stub.java,
	* javax/rmi/CORBA/StubDelegate.java,
	* javax/rmi/CORBA/Tie.java,
	* javax/rmi/CORBA/Util.java,
	* javax/rmi/CORBA/UtilDelegate.java,
	* javax/rmi/CORBA/ValueHandler.java,
	* javax/rmi/CORBA/ValueHandlerMultiFormat.java,
	* javax/rmi/PortableRemoteObject.java,
	* javax/rmi/ssl/SslRMIClientSocketFactory.java,
	* javax/rmi/ssl/SslRMIServerSocketFactory.java,
	* javax/security/auth/Subject.java,
	* javax/security/auth/callback/ChoiceCallback.java,
	* javax/security/auth/callback/ConfirmationCallback.java,
	* javax/security/auth/callback/NameCallback.java,
	* javax/security/auth/callback/PasswordCallback.java,
	* javax/security/auth/callback/TextInputCallback.java,
	* javax/security/auth/callback/TextOutputCallback.java,
	* javax/security/auth/kerberos/DelegationPermission.java,
	* javax/security/auth/kerberos/KerberosKey.java,
	* javax/security/auth/kerberos/KerberosPrincipal.java,
	* javax/security/auth/kerberos/ServicePermission.java,
	* javax/security/auth/login/AccountNotFoundException.java,
	* javax/security/auth/login/AppConfigurationEntry.java,
	* javax/security/auth/login/LoginContext.java,
	* javax/security/sasl/Sasl.java,
	* javax/sound/midi/ControllerEventListener.java,
	* javax/sound/midi/Instrument.java,
	* javax/sound/midi/InvalidMidiDataException.java,
	* javax/sound/midi/MetaEventListener.java,
	* javax/sound/midi/MetaMessage.java,
	* javax/sound/midi/MidiChannel.java,
	* javax/sound/midi/MidiDevice.java,
	* javax/sound/midi/MidiEvent.java,
	* javax/sound/midi/MidiFileFormat.java,
	* javax/sound/midi/MidiMessage.java,
	* javax/sound/midi/MidiSystem.java,
	* javax/sound/midi/MidiUnavailableException.java,
	* javax/sound/midi/Patch.java,
	* javax/sound/midi/Receiver.java,
	* javax/sound/midi/Sequence.java,
	* javax/sound/midi/Sequencer.java,
	* javax/sound/midi/ShortMessage.java,
	* javax/sound/midi/Soundbank.java,
	* javax/sound/midi/SoundbankResource.java,
	* javax/sound/midi/Synthesizer.java,
	* javax/sound/midi/SysexMessage.java,
	* javax/sound/midi/Track.java,
	* javax/sound/midi/Transmitter.java,
	* javax/sound/midi/VoiceStatus.java,
	* javax/sound/midi/spi/MidiDeviceProvider.java,
	* javax/sound/midi/spi/MidiFileReader.java,
	* javax/sound/midi/spi/MidiFileWriter.java,
	* javax/sound/midi/spi/SoundbankReader.java,
	* javax/sound/sampled/AudioFileFormat.java,
	* javax/sound/sampled/AudioFormat.java,
	* javax/sound/sampled/AudioInputStream.java,
	* javax/sound/sampled/AudioPermission.java,
	* javax/sound/sampled/AudioSystem.java,
	* javax/sound/sampled/BooleanControl.java,
	* javax/sound/sampled/Clip.java,
	* javax/sound/sampled/CompoundControl.java,
	* javax/sound/sampled/DataLine.java,
	* javax/sound/sampled/EnumControl.java,
	* javax/sound/sampled/FloatControl.java,
	* javax/sound/sampled/Line.java,
	* javax/sound/sampled/LineEvent.java,
	* javax/sound/sampled/LineUnavailableException.java,
	* javax/sound/sampled/Mixer.java,
	* javax/sound/sampled/Port.java,
	* javax/sound/sampled/ReverbType.java,
	* javax/sound/sampled/UnsupportedAudioFileException.java,
	* javax/sound/sampled/spi/AudioFileReader.java,
	* javax/sound/sampled/spi/AudioFileWriter.java,
	* javax/sound/sampled/spi/FormatConversionProvider.java,
	* javax/sql/ConnectionEvent.java,
	* javax/sql/ConnectionEventListener.java,
	* javax/sql/ConnectionPoolDataSource.java,
	* javax/sql/DataSource.java,
	* javax/sql/PooledConnection.java,
	* javax/sql/RowSet.java,
	* javax/sql/RowSetEvent.java,
	* javax/sql/RowSetInternal.java,
	* javax/sql/RowSetListener.java,
	* javax/sql/RowSetMetaData.java,
	* javax/sql/RowSetReader.java,
	* javax/sql/RowSetWriter.java,
	* javax/sql/XAConnection.java,
	* javax/sql/XADataSource.java,
	* javax/swing/AbstractAction.java,
	* javax/swing/AbstractButton.java,
	* javax/swing/AbstractCellEditor.java,
	* javax/swing/AbstractListModel.java,
	* javax/swing/AbstractSpinnerModel.java,
	* javax/swing/Action.java,
	* javax/swing/BorderFactory.java,
	* javax/swing/BoundedRangeModel.java,
	* javax/swing/Box.java,
	* javax/swing/BoxLayout.java,
	* javax/swing/ButtonGroup.java,
	* javax/swing/ButtonModel.java,
	* javax/swing/CellEditor.java,
	* javax/swing/CellRendererPane.java,
	* javax/swing/ComboBoxModel.java,
	* javax/swing/ComponentInputMap.java,
	* javax/swing/DebugGraphics.java,
	* javax/swing/DefaultBoundedRangeModel.java,
	* javax/swing/DefaultButtonModel.java,
	* javax/swing/DefaultCellEditor.java,
	* javax/swing/DefaultComboBoxModel.java,
	* javax/swing/DefaultDesktopManager.java,
	* javax/swing/DefaultFocusManager.java,
	* javax/swing/DefaultListModel.java,
	* javax/swing/DefaultListSelectionModel.java,
	* javax/swing/DefaultSingleSelectionModel.java,
	* javax/swing/FocusManager.java,
	* javax/swing/GrayFilter.java,
	* javax/swing/Icon.java,
	* javax/swing/ImageIcon.java,
	* javax/swing/InputMap.java,
	* javax/swing/InternalFrameFocusTraversalPolicy.java,
	* javax/swing/JApplet.java,
	* javax/swing/JButton.java,
	* javax/swing/JCheckBox.java,
	* javax/swing/JCheckBoxMenuItem.java,
	* javax/swing/JComboBox.java,
	* javax/swing/JComponent.java,
	* javax/swing/JDesktopPane.java,
	* javax/swing/JDialog.java,
	* javax/swing/JEditorPane.java,
	* javax/swing/JFileChooser.java,
	* javax/swing/JFormattedTextField.java,
	* javax/swing/JFrame.java,
	* javax/swing/JInternalFrame.java,
	* javax/swing/JLabel.java,
	* javax/swing/JLayeredPane.java,
	* javax/swing/JList.java,
	* javax/swing/JMenu.java,
	* javax/swing/JMenuBar.java,
	* javax/swing/JMenuItem.java,
	* javax/swing/JOptionPane.java,
	* javax/swing/JPanel.java,
	* javax/swing/JPasswordField.java,
	* javax/swing/JPopupMenu.java,
	* javax/swing/JProgressBar.java,
	* javax/swing/JRadioButton.java,
	* javax/swing/JRadioButtonMenuItem.java,
	* javax/swing/JRootPane.java,
	* javax/swing/JScrollBar.java,
	* javax/swing/JScrollPane.java,
	* javax/swing/JSeparator.java,
	* javax/swing/JSlider.java,
	* javax/swing/JSpinner.java,
	* javax/swing/JSplitPane.java,
	* javax/swing/JTabbedPane.java,
	* javax/swing/JTable.java,
	* javax/swing/JTextArea.java,
	* javax/swing/JTextField.java,
	* javax/swing/JTextPane.java,
	* javax/swing/JToggleButton.java,
	* javax/swing/JToolBar.java,
	* javax/swing/JToolTip.java,
	* javax/swing/JTree.java,
	* javax/swing/JViewport.java,
	* javax/swing/JWindow.java,
	* javax/swing/KeyStroke.java,
	* javax/swing/KeyboardManager.java,
	* javax/swing/LayoutFocusTraversalPolicy.java,
	* javax/swing/ListCellRenderer.java,
	* javax/swing/ListSelectionModel.java,
	* javax/swing/LookAndFeel.java,
	* javax/swing/MenuSelectionManager.java,
	* javax/swing/OverlayLayout.java,
	* javax/swing/Popup.java,
	* javax/swing/PopupFactory.java,
	* javax/swing/ProgressMonitor.java,
	* javax/swing/ProgressMonitorInputStream.java,
	* javax/swing/Renderer.java,
	* javax/swing/RepaintManager.java,
	* javax/swing/ScrollPaneLayout.java,
	* javax/swing/Scrollable.java,
	* javax/swing/SingleSelectionModel.java,
	* javax/swing/SizeRequirements.java,
	* javax/swing/SizeSequence.java,
	* javax/swing/SortingFocusTraversalPolicy.java,
	* javax/swing/SpinnerDateModel.java,
	* javax/swing/SpinnerListModel.java,
	* javax/swing/SpinnerModel.java,
	* javax/swing/SpinnerNumberModel.java,
	* javax/swing/Spring.java,
	* javax/swing/SpringLayout.java,
	* javax/swing/SwingConstants.java,
	* javax/swing/SwingUtilities.java,
	* javax/swing/Timer.java,
	* javax/swing/ToolTipManager.java,
	* javax/swing/TransferHandler.java,
	* javax/swing/UIDefaults.java,
	* javax/swing/UIManager.java,
	* javax/swing/UnsupportedLookAndFeelException.java,
	* javax/swing/ViewportLayout.java,
	* javax/swing/WindowConstants.java,
	* javax/swing/border/AbstractBorder.java,
	* javax/swing/border/BevelBorder.java,
	* javax/swing/border/Border.java,
	* javax/swing/border/CompoundBorder.java,
	* javax/swing/border/EmptyBorder.java,
	* javax/swing/border/EtchedBorder.java,
	* javax/swing/border/LineBorder.java,
	* javax/swing/border/MatteBorder.java,
	* javax/swing/border/SoftBevelBorder.java,
	* javax/swing/border/TitledBorder.java,
	* javax/swing/colorchooser/AbstractColorChooserPanel.java,
	* javax/swing/colorchooser/ColorChooserComponentFactory.java,
	* javax/swing/colorchooser/ColorSelectionModel.java,
	* javax/swing/colorchooser/DefaultColorSelectionModel.java,
	* javax/swing/colorchooser/DefaultHSBChooserPanel.java,
	* javax/swing/colorchooser/DefaultRGBChooserPanel.java,
	* javax/swing/colorchooser/DefaultSwatchChooserPanel.java,
	* javax/swing/event/AncestorEvent.java,
	* javax/swing/event/AncestorListener.java,
	* javax/swing/event/CaretEvent.java,
	* javax/swing/event/CaretListener.java,
	* javax/swing/event/CellEditorListener.java,
	* javax/swing/event/ChangeEvent.java,
	* javax/swing/event/ChangeListener.java,
	* javax/swing/event/DocumentEvent.java,
	* javax/swing/event/DocumentListener.java,
	* javax/swing/event/EventListenerList.java,
	* javax/swing/event/HyperlinkEvent.java,
	* javax/swing/event/HyperlinkListener.java,
	* javax/swing/event/InternalFrameAdapter.java,
	* javax/swing/event/InternalFrameEvent.java,
	* javax/swing/event/InternalFrameListener.java,
	* javax/swing/event/ListDataEvent.java,
	* javax/swing/event/ListDataListener.java,
	* javax/swing/event/ListSelectionEvent.java,
	* javax/swing/event/ListSelectionListener.java,
	* javax/swing/event/MenuDragMouseEvent.java,
	* javax/swing/event/MenuDragMouseListener.java,
	* javax/swing/event/MenuEvent.java,
	* javax/swing/event/MenuKeyEvent.java,
	* javax/swing/event/MenuKeyListener.java,
	* javax/swing/event/MenuListener.java,
	* javax/swing/event/MouseInputListener.java,
	* javax/swing/event/PopupMenuEvent.java,
	* javax/swing/event/PopupMenuListener.java,
	* javax/swing/event/SwingPropertyChangeSupport.java,
	* javax/swing/event/TableColumnModelEvent.java,
	* javax/swing/event/TableColumnModelListener.java,
	* javax/swing/event/TableModelEvent.java,
	* javax/swing/event/TableModelListener.java,
	* javax/swing/event/TreeExpansionEvent.java,
	* javax/swing/event/TreeExpansionListener.java,
	* javax/swing/event/TreeModelEvent.java,
	* javax/swing/event/TreeModelListener.java,
	* javax/swing/event/TreeSelectionEvent.java,
	* javax/swing/event/TreeSelectionListener.java,
	* javax/swing/event/TreeWillExpandListener.java,
	* javax/swing/event/UndoableEditEvent.java,
	* javax/swing/filechooser/FileFilter.java,
	* javax/swing/filechooser/FileSystemView.java,
	* javax/swing/filechooser/FileView.java,
	* javax/swing/filechooser/UnixFileSystemView.java,
	* javax/swing/plaf/BorderUIResource.java,
	* javax/swing/plaf/ColorChooserUI.java,
	* javax/swing/plaf/ColorUIResource.java,
	* javax/swing/plaf/ComboBoxUI.java,
	* javax/swing/plaf/ComponentInputMapUIResource.java,
	* javax/swing/plaf/ComponentUI.java,
	* javax/swing/plaf/FileChooserUI.java,
	* javax/swing/plaf/IconUIResource.java,
	* javax/swing/plaf/SplitPaneUI.java,
	* javax/swing/plaf/TabbedPaneUI.java,
	* javax/swing/plaf/TextUI.java,
	* javax/swing/plaf/UIResource.java,
	* javax/swing/plaf/basic/BasicArrowButton.java,
	* javax/swing/plaf/basic/BasicBorders.java,
	* javax/swing/plaf/basic/BasicButtonListener.java,
	* javax/swing/plaf/basic/BasicButtonUI.java,
	* javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java,
	* javax/swing/plaf/basic/BasicCheckBoxUI.java,
	* javax/swing/plaf/basic/BasicColorChooserUI.java,
	* javax/swing/plaf/basic/BasicComboBoxEditor.java,
	* javax/swing/plaf/basic/BasicComboBoxRenderer.java,
	* javax/swing/plaf/basic/BasicComboBoxUI.java,
	* javax/swing/plaf/basic/BasicComboPopup.java,
	* javax/swing/plaf/basic/BasicDesktopIconUI.java,
	* javax/swing/plaf/basic/BasicDesktopPaneUI.java,
	* javax/swing/plaf/basic/BasicDirectoryModel.java,
	* javax/swing/plaf/basic/BasicEditorPaneUI.java,
	* javax/swing/plaf/basic/BasicFileChooserUI.java,
	* javax/swing/plaf/basic/BasicFormattedTextFieldUI.java,
	* javax/swing/plaf/basic/BasicGraphicsUtils.java,
	* javax/swing/plaf/basic/BasicHTML.java,
	* javax/swing/plaf/basic/BasicIconFactory.java,
	* javax/swing/plaf/basic/BasicInternalFrameTitlePane.java,
	* javax/swing/plaf/basic/BasicInternalFrameUI.java,
	* javax/swing/plaf/basic/BasicLabelUI.java,
	* javax/swing/plaf/basic/BasicListUI.java,
	* javax/swing/plaf/basic/BasicLookAndFeel.java,
	* javax/swing/plaf/basic/BasicMenuBarUI.java,
	* javax/swing/plaf/basic/BasicMenuItemUI.java,
	* javax/swing/plaf/basic/BasicMenuUI.java,
	* javax/swing/plaf/basic/BasicOptionPaneUI.java,
	* javax/swing/plaf/basic/BasicPanelUI.java,
	* javax/swing/plaf/basic/BasicPasswordFieldUI.java,
	* javax/swing/plaf/basic/BasicPopupMenuUI.java,
	* javax/swing/plaf/basic/BasicProgressBarUI.java,
	* javax/swing/plaf/basic/BasicRadioButtonUI.java,
	* javax/swing/plaf/basic/BasicRootPaneUI.java,
	* javax/swing/plaf/basic/BasicScrollBarUI.java,
	* javax/swing/plaf/basic/BasicScrollPaneUI.java,
	* javax/swing/plaf/basic/BasicSeparatorUI.java,
	* javax/swing/plaf/basic/BasicSliderUI.java,
	* javax/swing/plaf/basic/BasicSpinnerUI.java,
	* javax/swing/plaf/basic/BasicSplitPaneDivider.java,
	* javax/swing/plaf/basic/BasicSplitPaneUI.java,
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java,
	* javax/swing/plaf/basic/BasicTableHeaderUI.java,
	* javax/swing/plaf/basic/BasicTableUI.java,
	* javax/swing/plaf/basic/BasicTextAreaUI.java,
	* javax/swing/plaf/basic/BasicTextFieldUI.java,
	* javax/swing/plaf/basic/BasicTextPaneUI.java,
	* javax/swing/plaf/basic/BasicTextUI.java,
	* javax/swing/plaf/basic/BasicToggleButtonUI.java,
	* javax/swing/plaf/basic/BasicToolBarUI.java,
	* javax/swing/plaf/basic/BasicToolTipUI.java,
	* javax/swing/plaf/basic/BasicTreeUI.java,
	* javax/swing/plaf/basic/BasicViewportUI.java,
	* javax/swing/plaf/metal/DefaultMetalTheme.java,
	* javax/swing/plaf/metal/MetalBorders.java,
	* javax/swing/plaf/metal/MetalButtonListener.java,
	* javax/swing/plaf/metal/MetalButtonUI.java,
	* javax/swing/plaf/metal/MetalCheckBoxIcon.java,
	* javax/swing/plaf/metal/MetalCheckBoxUI.java,
	* javax/swing/plaf/metal/MetalComboBoxButton.java,
	* javax/swing/plaf/metal/MetalComboBoxEditor.java,
	* javax/swing/plaf/metal/MetalComboBoxIcon.java,
	* javax/swing/plaf/metal/MetalComboBoxUI.java,
	* javax/swing/plaf/metal/MetalFileChooserUI.java,
	* javax/swing/plaf/metal/MetalIconFactory.java,
	* javax/swing/plaf/metal/MetalInternalFrameTitlePane.java,
	* javax/swing/plaf/metal/MetalInternalFrameUI.java,
	* javax/swing/plaf/metal/MetalLabelUI.java,
	* javax/swing/plaf/metal/MetalLookAndFeel.java,
	* javax/swing/plaf/metal/MetalMenuBarUI.java,
	* javax/swing/plaf/metal/MetalProgressBarUI.java,
	* javax/swing/plaf/metal/MetalRadioButtonUI.java,
	* javax/swing/plaf/metal/MetalRootPaneUI.java,
	* javax/swing/plaf/metal/MetalScrollBarUI.java,
	* javax/swing/plaf/metal/MetalScrollButton.java,
	* javax/swing/plaf/metal/MetalScrollPaneUI.java,
	* javax/swing/plaf/metal/MetalSeparatorUI.java,
	* javax/swing/plaf/metal/MetalSliderUI.java,
	* javax/swing/plaf/metal/MetalSplitPaneDivider.java,
	* javax/swing/plaf/metal/MetalSplitPaneUI.java,
	* javax/swing/plaf/metal/MetalTabbedPaneUI.java,
	* javax/swing/plaf/metal/MetalTextFieldUI.java,
	* javax/swing/plaf/metal/MetalTheme.java,
	* javax/swing/plaf/metal/MetalToggleButtonUI.java,
	* javax/swing/plaf/metal/MetalToolBarUI.java,
	* javax/swing/plaf/metal/MetalToolTipUI.java,
	* javax/swing/plaf/metal/MetalTreeUI.java,
	* javax/swing/plaf/metal/MetalUtils.java,
	* javax/swing/plaf/metal/OceanTheme.java,
	* javax/swing/plaf/multi/MultiButtonUI.java,
	* javax/swing/plaf/multi/MultiColorChooserUI.java,
	* javax/swing/plaf/multi/MultiComboBoxUI.java,
	* javax/swing/plaf/multi/MultiDesktopIconUI.java,
	* javax/swing/plaf/multi/MultiDesktopPaneUI.java,
	* javax/swing/plaf/multi/MultiFileChooserUI.java,
	* javax/swing/plaf/multi/MultiInternalFrameUI.java,
	* javax/swing/plaf/multi/MultiLabelUI.java,
	* javax/swing/plaf/multi/MultiListUI.java,
	* javax/swing/plaf/multi/MultiLookAndFeel.java,
	* javax/swing/plaf/multi/MultiMenuBarUI.java,
	* javax/swing/plaf/multi/MultiMenuItemUI.java,
	* javax/swing/plaf/multi/MultiOptionPaneUI.java,
	* javax/swing/plaf/multi/MultiPanelUI.java,
	* javax/swing/plaf/multi/MultiPopupMenuUI.java,
	* javax/swing/plaf/multi/MultiProgressBarUI.java,
	* javax/swing/plaf/multi/MultiRootPaneUI.java,
	* javax/swing/plaf/multi/MultiScrollBarUI.java,
	* javax/swing/plaf/multi/MultiScrollPaneUI.java,
	* javax/swing/plaf/multi/MultiSeparatorUI.java,
	* javax/swing/plaf/multi/MultiSliderUI.java,
	* javax/swing/plaf/multi/MultiSpinnerUI.java,
	* javax/swing/plaf/multi/MultiSplitPaneUI.java,
	* javax/swing/plaf/multi/MultiTabbedPaneUI.java,
	* javax/swing/plaf/multi/MultiTableHeaderUI.java,
	* javax/swing/plaf/multi/MultiTableUI.java,
	* javax/swing/plaf/multi/MultiTextUI.java,
	* javax/swing/plaf/multi/MultiToolBarUI.java,
	* javax/swing/plaf/multi/MultiToolTipUI.java,
	* javax/swing/plaf/multi/MultiTreeUI.java,
	* javax/swing/plaf/multi/MultiViewportUI.java,
	* javax/swing/plaf/synth/SynthGraphicsUtils.java,
	* javax/swing/plaf/synth/SynthLookAndFeel.java,
	* javax/swing/plaf/synth/SynthPainter.java,
	* javax/swing/table/AbstractTableModel.java,
	* javax/swing/table/DefaultTableCellRenderer.java,
	* javax/swing/table/DefaultTableColumnModel.java,
	* javax/swing/table/DefaultTableModel.java,
	* javax/swing/table/JTableHeader.java,
	* javax/swing/table/TableCellEditor.java,
	* javax/swing/table/TableCellRenderer.java,
	* javax/swing/table/TableColumn.java,
	* javax/swing/table/TableColumnModel.java,
	* javax/swing/table/TableModel.java,
	* javax/swing/text/AbstractDocument.java,
	* javax/swing/text/AbstractWriter.java,
	* javax/swing/text/AsyncBoxView.java,
	* javax/swing/text/AttributeSet.java,
	* javax/swing/text/BoxView.java,
	* javax/swing/text/Caret.java,
	* javax/swing/text/ComponentView.java,
	* javax/swing/text/CompositeView.java,
	* javax/swing/text/DefaultCaret.java,
	* javax/swing/text/DefaultEditorKit.java,
	* javax/swing/text/DefaultFormatter.java,
	* javax/swing/text/DefaultFormatterFactory.java,
	* javax/swing/text/DefaultHighlighter.java,
	* javax/swing/text/DefaultStyledDocument.java,
	* javax/swing/text/DocumentFilter.java,
	* javax/swing/text/EditorKit.java,
	* javax/swing/text/Element.java,
	* javax/swing/text/ElementIterator.java,
	* javax/swing/text/EmptyAttributeSet.java,
	* javax/swing/text/FieldView.java,
	* javax/swing/text/FlowView.java,
	* javax/swing/text/GapContent.java,
	* javax/swing/text/GlyphView.java,
	* javax/swing/text/Highlighter.java,
	* javax/swing/text/InternationalFormatter.java,
	* javax/swing/text/JTextComponent.java,
	* javax/swing/text/Keymap.java,
	* javax/swing/text/LayeredHighlighter.java,
	* javax/swing/text/LayoutQueue.java,
	* javax/swing/text/MaskFormatter.java,
	* javax/swing/text/MutableAttributeSet.java,
	* javax/swing/text/NavigationFilter.java,
	* javax/swing/text/NumberFormatter.java,
	* javax/swing/text/ParagraphView.java,
	* javax/swing/text/PasswordView.java,
	* javax/swing/text/PlainDocument.java,
	* javax/swing/text/PlainView.java,
	* javax/swing/text/Position.java,
	* javax/swing/text/Segment.java,
	* javax/swing/text/SimpleAttributeSet.java,
	* javax/swing/text/StringContent.java,
	* javax/swing/text/Style.java,
	* javax/swing/text/StyleConstants.java,
	* javax/swing/text/StyleContext.java,
	* javax/swing/text/StyledDocument.java,
	* javax/swing/text/StyledEditorKit.java,
	* javax/swing/text/TabExpander.java,
	* javax/swing/text/TabSet.java,
	* javax/swing/text/TabStop.java,
	* javax/swing/text/TabableView.java,
	* javax/swing/text/TableView.java,
	* javax/swing/text/TextAction.java,
	* javax/swing/text/Utilities.java,
	* javax/swing/text/View.java,
	* javax/swing/text/ViewFactory.java,
	* javax/swing/text/WrappedPlainView.java,
	* javax/swing/text/html/BRView.java,
	* javax/swing/text/html/BlockView.java,
	* javax/swing/text/html/CSS.java,
	* javax/swing/text/html/CSSBorder.java,
	* javax/swing/text/html/CSSParser.java,
	* javax/swing/text/html/FormView.java,
	* javax/swing/text/html/HRuleView.java,
	* javax/swing/text/html/HTMLDocument.java,
	* javax/swing/text/html/HTMLEditorKit.java,
	* javax/swing/text/html/HTMLWriter.java,
	* javax/swing/text/html/ImageView.java,
	* javax/swing/text/html/InlineView.java,
	* javax/swing/text/html/ListView.java,
	* javax/swing/text/html/MinimalHTMLWriter.java,
	* javax/swing/text/html/MultiAttributeSet.java,
	* javax/swing/text/html/MultiStyle.java,
	* javax/swing/text/html/ParagraphView.java,
	* javax/swing/text/html/StyleSheet.java,
	* javax/swing/text/html/TableView.java,
	* javax/swing/text/html/ViewAttributeSet.java,
	* javax/swing/text/html/parser/Entity.java,
	* javax/swing/text/html/parser/Parser.java,
	* javax/swing/text/rtf/RTFParser.java,
	* javax/swing/text/rtf/RTFScanner.java,
	* javax/swing/tree/AbstractLayoutCache.java,
	* javax/swing/tree/DefaultMutableTreeNode.java,
	* javax/swing/tree/DefaultTreeCellEditor.java,
	* javax/swing/tree/DefaultTreeCellRenderer.java,
	* javax/swing/tree/DefaultTreeModel.java,
	* javax/swing/tree/DefaultTreeSelectionModel.java,
	* javax/swing/tree/ExpandVetoException.java,
	* javax/swing/tree/FixedHeightLayoutCache.java,
	* javax/swing/tree/MutableTreeNode.java,
	* javax/swing/tree/RowMapper.java,
	* javax/swing/tree/TreeCellEditor.java,
	* javax/swing/tree/TreeCellRenderer.java,
	* javax/swing/tree/TreeNode.java,
	* javax/swing/tree/TreePath.java,
	* javax/swing/tree/TreeSelectionModel.java,
	* javax/swing/tree/VariableHeightLayoutCache.java,
	* javax/swing/undo/AbstractUndoableEdit.java,
	* javax/swing/undo/CompoundEdit.java,
	* javax/swing/undo/StateEdit.java,
	* javax/swing/undo/UndoManager.java,
	* javax/swing/undo/UndoableEdit.java,
	* javax/tools/FileObject.java,
	* javax/transaction/HeuristicCommitException.java,
	* javax/transaction/HeuristicMixedException.java,
	* javax/transaction/HeuristicRollbackException.java,
	* javax/transaction/InvalidTransactionException.java,
	* javax/transaction/NotSupportedException.java,
	* javax/transaction/RollbackException.java,
	* javax/transaction/Status.java,
	* javax/transaction/Synchronization.java,
	* javax/transaction/SystemException.java,
	* javax/transaction/Transaction.java,
	* javax/transaction/TransactionManager.java,
	* javax/transaction/TransactionRequiredException.java,
	* javax/transaction/TransactionRolledbackException.java,
	* javax/transaction/UserTransaction.java,
	* javax/transaction/xa/XAException.java,
	* javax/transaction/xa/XAResource.java,
	* javax/transaction/xa/Xid.java,
	* javax/xml/XMLConstants.java,
	* javax/xml/datatype/DatatypeConfigurationException.java,
	* javax/xml/datatype/DatatypeConstants.java,
	* javax/xml/datatype/DatatypeFactory.java,
	* javax/xml/datatype/Duration.java,
	* javax/xml/datatype/XMLGregorianCalendar.java,
	* javax/xml/namespace/NamespaceContext.java,
	* javax/xml/namespace/QName.java,
	* javax/xml/parsers/DocumentBuilder.java,
	* javax/xml/parsers/DocumentBuilderFactory.java,
	* javax/xml/parsers/FactoryConfigurationError.java,
	* javax/xml/parsers/ParserConfigurationException.java,
	* javax/xml/parsers/SAXParser.java,
	* javax/xml/parsers/SAXParserFactory.java,
	* javax/xml/stream/EventFilter.java,
	* javax/xml/stream/FactoryConfigurationError.java,
	* javax/xml/stream/Location.java,
	* javax/xml/stream/StreamFilter.java,
	* javax/xml/stream/XMLEventFactory.java,
	* javax/xml/stream/XMLEventReader.java,
	* javax/xml/stream/XMLEventWriter.java,
	* javax/xml/stream/XMLInputFactory.java,
	* javax/xml/stream/XMLOutputFactory.java,
	* javax/xml/stream/XMLReporter.java,
	* javax/xml/stream/XMLResolver.java,
	* javax/xml/stream/XMLStreamConstants.java,
	* javax/xml/stream/XMLStreamException.java,
	* javax/xml/stream/XMLStreamReader.java,
	* javax/xml/stream/XMLStreamWriter.java,
	* javax/xml/stream/events/Attribute.java,
	* javax/xml/stream/events/Characters.java,
	* javax/xml/stream/events/Comment.java,
	* javax/xml/stream/events/DTD.java,
	* javax/xml/stream/events/EndDocument.java,
	* javax/xml/stream/events/EndElement.java,
	* javax/xml/stream/events/EntityDeclaration.java,
	* javax/xml/stream/events/EntityReference.java,
	* javax/xml/stream/events/Namespace.java,
	* javax/xml/stream/events/NotationDeclaration.java,
	* javax/xml/stream/events/ProcessingInstruction.java,
	* javax/xml/stream/events/StartDocument.java,
	* javax/xml/stream/events/StartElement.java,
	* javax/xml/stream/events/XMLEvent.java,
	* javax/xml/stream/util/EventReaderDelegate.java,
	* javax/xml/stream/util/StreamReaderDelegate.java,
	* javax/xml/stream/util/XMLEventAllocator.java,
	* javax/xml/stream/util/XMLEventConsumer.java,
	* javax/xml/transform/ErrorListener.java,
	* javax/xml/transform/OutputKeys.java,
	* javax/xml/transform/Result.java,
	* javax/xml/transform/Source.java,
	* javax/xml/transform/SourceLocator.java,
	* javax/xml/transform/Templates.java,
	* javax/xml/transform/Transformer.java,
	* javax/xml/transform/TransformerConfigurationException.java,
	* javax/xml/transform/TransformerException.java,
	* javax/xml/transform/TransformerFactory.java,
	* javax/xml/transform/TransformerFactoryConfigurationError.java,
	* javax/xml/transform/URIResolver.java,
	* javax/xml/transform/dom/DOMLocator.java,
	* javax/xml/transform/dom/DOMResult.java,
	* javax/xml/transform/dom/DOMSource.java,
	* javax/xml/transform/sax/SAXResult.java,
	* javax/xml/transform/sax/SAXSource.java,
	* javax/xml/transform/sax/SAXTransformerFactory.java,
	* javax/xml/transform/sax/TemplatesHandler.java,
	* javax/xml/transform/sax/TransformerHandler.java,
	* javax/xml/transform/stream/StreamResult.java,
	* javax/xml/transform/stream/StreamSource.java,
	* javax/xml/validation/Schema.java,
	* javax/xml/validation/SchemaFactory.java,
	* javax/xml/validation/SchemaFactoryLoader.java,
	* javax/xml/validation/TypeInfoProvider.java,
	* javax/xml/validation/Validator.java,
	* javax/xml/validation/ValidatorHandler.java,
	* javax/xml/xpath/XPath.java,
	* javax/xml/xpath/XPathConstants.java,
	* javax/xml/xpath/XPathException.java,
	* javax/xml/xpath/XPathExpression.java,
	* javax/xml/xpath/XPathExpressionException.java,
	* javax/xml/xpath/XPathFactory.java,
	* javax/xml/xpath/XPathFactoryConfigurationException.java,
	* javax/xml/xpath/XPathFunction.java,
	* javax/xml/xpath/XPathFunctionException.java,
	* javax/xml/xpath/XPathFunctionResolver.java,
	* javax/xml/xpath/XPathVariableResolver.java,
	* org/omg/CORBA/ARG_IN.java,
	* org/omg/CORBA/ARG_INOUT.java,
	* org/omg/CORBA/ARG_OUT.java,
	* org/omg/CORBA/AnySeqHolder.java,
	* org/omg/CORBA/BAD_CONTEXT.java,
	* org/omg/CORBA/BAD_INV_ORDER.java,
	* org/omg/CORBA/BAD_OPERATION.java,
	* org/omg/CORBA/BAD_PARAM.java,
	* org/omg/CORBA/BAD_POLICY.java,
	* org/omg/CORBA/BAD_POLICY_TYPE.java,
	* org/omg/CORBA/BAD_POLICY_VALUE.java,
	* org/omg/CORBA/BAD_TYPECODE.java,
	* org/omg/CORBA/COMM_FAILURE.java,
	* org/omg/CORBA/CTX_RESTRICT_SCOPE.java,
	* org/omg/CORBA/CompletionStatus.java,
	* org/omg/CORBA/CompletionStatusHelper.java,
	* org/omg/CORBA/Context.java,
	* org/omg/CORBA/Current.java,
	* org/omg/CORBA/CurrentHelper.java,
	* org/omg/CORBA/CurrentHolder.java,
	* org/omg/CORBA/CustomMarshal.java,
	* org/omg/CORBA/CustomValue.java,
	* org/omg/CORBA/DATA_CONVERSION.java,
	* org/omg/CORBA/DataInputStream.java,
	* org/omg/CORBA/DataOutputStream.java,
	* org/omg/CORBA/DefinitionKind.java,
	* org/omg/CORBA/DefinitionKindHelper.java,
	* org/omg/CORBA/DynamicImplementation.java,
	* org/omg/CORBA/FREE_MEM.java,
	* org/omg/CORBA/FieldNameHelper.java,
	* org/omg/CORBA/IDLTypeHelper.java,
	* org/omg/CORBA/IMP_LIMIT.java,
	* org/omg/CORBA/INITIALIZE.java,
	* org/omg/CORBA/INTERNAL.java,
	* org/omg/CORBA/INTF_REPOS.java,
	* org/omg/CORBA/INVALID_TRANSACTION.java,
	* org/omg/CORBA/INV_FLAG.java,
	* org/omg/CORBA/INV_IDENT.java,
	* org/omg/CORBA/INV_OBJREF.java,
	* org/omg/CORBA/INV_POLICY.java,
	* org/omg/CORBA/IRObject.java,
	* org/omg/CORBA/IRObjectOperations.java,
	* org/omg/CORBA/IdentifierHelper.java,
	* org/omg/CORBA/LocalObject.java,
	* org/omg/CORBA/LongSeqHolder.java,
	* org/omg/CORBA/MARSHAL.java,
	* org/omg/CORBA/NO_IMPLEMENT.java,
	* org/omg/CORBA/NO_MEMORY.java,
	* org/omg/CORBA/NO_PERMISSION.java,
	* org/omg/CORBA/NO_RESOURCES.java,
	* org/omg/CORBA/NO_RESPONSE.java,
	* org/omg/CORBA/NVList.java,
	* org/omg/CORBA/OBJECT_NOT_EXIST.java,
	* org/omg/CORBA/OBJ_ADAPTER.java,
	* org/omg/CORBA/OMGVMCID.java,
	* org/omg/CORBA/ORB.java,
	* org/omg/CORBA/ObjectHelper.java,
	* org/omg/CORBA/ObjectHolder.java,
	* org/omg/CORBA/PERSIST_STORE.java,
	* org/omg/CORBA/ParameterMode.java,
	* org/omg/CORBA/ParameterModeHelper.java,
	* org/omg/CORBA/PolicyErrorCodeHelper.java,
	* org/omg/CORBA/PolicyErrorHelper.java,
	* org/omg/CORBA/PolicyErrorHolder.java,
	* org/omg/CORBA/PolicyHelper.java,
	* org/omg/CORBA/PolicyHolder.java,
	* org/omg/CORBA/PolicyListHelper.java,
	* org/omg/CORBA/PolicyListHolder.java,
	* org/omg/CORBA/PolicyOperations.java,
	* org/omg/CORBA/PolicyTypeHelper.java,
	* org/omg/CORBA/RepositoryIdHelper.java,
	* org/omg/CORBA/Request.java,
	* org/omg/CORBA/ServiceDetailHelper.java,
	* org/omg/CORBA/ServiceInformationHelper.java,
	* org/omg/CORBA/SetOverrideTypeHelper.java,
	* org/omg/CORBA/StringValueHelper.java,
	* org/omg/CORBA/StructMember.java,
	* org/omg/CORBA/StructMemberHelper.java,
	* org/omg/CORBA/SystemException.java,
	* org/omg/CORBA/TCKind.java,
	* org/omg/CORBA/TRANSACTION_REQUIRED.java,
	* org/omg/CORBA/TRANSACTION_ROLLEDBACK.java,
	* org/omg/CORBA/TRANSIENT.java,
	* org/omg/CORBA/TypeCode.java,
	* org/omg/CORBA/TypeCodePackage/BadKind.java,
	* org/omg/CORBA/TypeCodePackage/Bounds.java,
	* org/omg/CORBA/UNSUPPORTED_POLICY.java,
	* org/omg/CORBA/UNSUPPORTED_POLICY_VALUE.java,
	* org/omg/CORBA/UnionMemberHelper.java,
	* org/omg/CORBA/UnknownUserException.java,
	* org/omg/CORBA/UnknownUserExceptionHolder.java,
	* org/omg/CORBA/ValueBaseHelper.java,
	* org/omg/CORBA/ValueBaseHolder.java,
	* org/omg/CORBA/ValueMemberHelper.java,
	* org/omg/CORBA/VersionSpecHelper.java,
	* org/omg/CORBA/VisibilityHelper.java,
	* org/omg/CORBA/WStringValueHelper.java,
	* org/omg/CORBA/WrongTransactionHelper.java,
	* org/omg/CORBA/WrongTransactionHolder.java,
	* org/omg/CORBA/_IDLTypeStub.java,
	* org/omg/CORBA/_PolicyStub.java,
	* org/omg/CORBA/portable/CustomValue.java,
	* org/omg/CORBA/portable/Delegate.java,
	* org/omg/CORBA/portable/ObjectImpl.java,
	* org/omg/CORBA/portable/StreamableValue.java,
	* org/omg/CORBA/portable/ValueBase.java,
	* org/omg/CORBA_2_3/ORB.java,
	* org/omg/CORBA_2_3/portable/Delegate.java,
	* org/omg/CORBA_2_3/portable/InputStream.java,
	* org/omg/CORBA_2_3/portable/ObjectImpl.java,
	* org/omg/CORBA_2_3/portable/OutputStream.java,
	* org/omg/CosNaming/BindingHelper.java,
	* org/omg/CosNaming/BindingIterator.java,
	* org/omg/CosNaming/BindingIteratorHelper.java,
	* org/omg/CosNaming/BindingIteratorOperations.java,
	* org/omg/CosNaming/BindingIteratorPOA.java,
	* org/omg/CosNaming/BindingType.java,
	* org/omg/CosNaming/BindingTypeHelper.java,
	* org/omg/CosNaming/IstringHelper.java,
	* org/omg/CosNaming/NameComponentHelper.java,
	* org/omg/CosNaming/NameHelper.java,
	* org/omg/CosNaming/NamingContext.java,
	* org/omg/CosNaming/NamingContextExtHelper.java,
	* org/omg/CosNaming/NamingContextExtPOA.java,
	* org/omg/CosNaming/NamingContextExtPackage/InvalidAddress.java,
	* org/omg/CosNaming/NamingContextHelper.java,
	* org/omg/CosNaming/NamingContextPOA.java,
	* org/omg/CosNaming/NamingContextPackage/AlreadyBound.java,
	* org/omg/CosNaming/NamingContextPackage/CannotProceed.java,
	* org/omg/CosNaming/NamingContextPackage/CannotProceedHelper.java,
	* org/omg/CosNaming/NamingContextPackage/InvalidName.java,
	* org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.java,
	* org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.java,
	* org/omg/CosNaming/NamingContextPackage/NotFound.java,
	* org/omg/CosNaming/NamingContextPackage/NotFoundHelper.java,
	* org/omg/CosNaming/NamingContextPackage/NotFoundReason.java,
	* org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.java,
	* org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.java,
	* org/omg/CosNaming/_BindingIteratorImplBase.java,
	* org/omg/CosNaming/_BindingIteratorStub.java,
	* org/omg/CosNaming/_NamingContextExtStub.java,
	* org/omg/CosNaming/_NamingContextStub.java,
	* org/omg/Dynamic/Parameter.java,
	* org/omg/DynamicAny/AnySeqHelper.java,
	* org/omg/DynamicAny/DynAny.java,
	* org/omg/DynamicAny/DynAnyFactoryHelper.java,
	* org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.java,
	* org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.java,
	* org/omg/DynamicAny/DynAnyHelper.java,
	* org/omg/DynamicAny/DynAnyPackage/InvalidValue.java,
	* org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java,
	* org/omg/DynamicAny/DynAnyPackage/TypeMismatch.java,
	* org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java,
	* org/omg/DynamicAny/DynAnySeqHelper.java,
	* org/omg/DynamicAny/DynArrayHelper.java,
	* org/omg/DynamicAny/DynEnumHelper.java,
	* org/omg/DynamicAny/DynFixedHelper.java,
	* org/omg/DynamicAny/DynSequenceHelper.java,
	* org/omg/DynamicAny/DynStructHelper.java,
	* org/omg/DynamicAny/DynUnionHelper.java,
	* org/omg/DynamicAny/DynValueBox.java,
	* org/omg/DynamicAny/DynValueCommonOperations.java,
	* org/omg/DynamicAny/DynValueHelper.java,
	* org/omg/DynamicAny/FieldNameHelper.java,
	* org/omg/DynamicAny/NameDynAnyPairHelper.java,
	* org/omg/DynamicAny/NameDynAnyPairSeqHelper.java,
	* org/omg/DynamicAny/NameValuePair.java,
	* org/omg/DynamicAny/NameValuePairHelper.java,
	* org/omg/DynamicAny/NameValuePairSeqHelper.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/IOP/Codec.java,
	* org/omg/IOP/CodecFactory.java,
	* org/omg/IOP/CodecFactoryHelper.java,
	* org/omg/IOP/CodecFactoryOperations.java,
	* org/omg/IOP/CodecFactoryPackage/UnknownEncoding.java,
	* org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.java,
	* org/omg/IOP/CodecOperations.java,
	* org/omg/IOP/CodecPackage/FormatMismatch.java,
	* org/omg/IOP/CodecPackage/FormatMismatchHelper.java,
	* org/omg/IOP/CodecPackage/InvalidTypeForEncoding.java,
	* org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.java,
	* org/omg/IOP/CodecPackage/TypeMismatch.java,
	* org/omg/IOP/CodecPackage/TypeMismatchHelper.java,
	* org/omg/IOP/ComponentIdHelper.java,
	* org/omg/IOP/Encoding.java,
	* org/omg/IOP/IOR.java,
	* org/omg/IOP/IORHelper.java,
	* org/omg/IOP/IORHolder.java,
	* org/omg/IOP/MultipleComponentProfileHelper.java,
	* org/omg/IOP/MultipleComponentProfileHolder.java,
	* org/omg/IOP/ProfileIdHelper.java,
	* org/omg/IOP/ServiceContext.java,
	* org/omg/IOP/ServiceContextHelper.java,
	* org/omg/IOP/ServiceContextHolder.java,
	* org/omg/IOP/ServiceContextListHelper.java,
	* org/omg/IOP/ServiceContextListHolder.java,
	* org/omg/IOP/ServiceIdHelper.java,
	* org/omg/IOP/TaggedComponent.java,
	* org/omg/IOP/TaggedComponentHelper.java,
	* org/omg/IOP/TaggedComponentHolder.java,
	* org/omg/IOP/TaggedProfile.java,
	* org/omg/IOP/TaggedProfileHelper.java,
	* org/omg/IOP/TaggedProfileHolder.java,
	* org/omg/IOP/TransactionService.java,
	* org/omg/Messaging/SYNC_WITH_TRANSPORT.java,
	* org/omg/Messaging/SyncScopeHelper.java,
	* org/omg/PortableInterceptor/AdapterManagerIdHelper.java,
	* org/omg/PortableInterceptor/AdapterNameHelper.java,
	* org/omg/PortableInterceptor/AdapterStateHelper.java,
	* org/omg/PortableInterceptor/ClientRequestInfo.java,
	* org/omg/PortableInterceptor/ClientRequestInfoOperations.java,
	* org/omg/PortableInterceptor/ClientRequestInterceptor.java,
	* org/omg/PortableInterceptor/ClientRequestInterceptorOperations.java,
	* org/omg/PortableInterceptor/Current.java,
	* org/omg/PortableInterceptor/CurrentHelper.java,
	* org/omg/PortableInterceptor/CurrentOperations.java,
	* org/omg/PortableInterceptor/ForwardRequest.java,
	* org/omg/PortableInterceptor/ForwardRequestHelper.java,
	* org/omg/PortableInterceptor/IORInfo.java,
	* org/omg/PortableInterceptor/IORInfoOperations.java,
	* org/omg/PortableInterceptor/IORInterceptor.java,
	* org/omg/PortableInterceptor/IORInterceptorOperations.java,
	* org/omg/PortableInterceptor/IORInterceptor_3_0.java,
	* org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java,
	* org/omg/PortableInterceptor/IORInterceptor_3_0Holder.java,
	* org/omg/PortableInterceptor/IORInterceptor_3_0Operations.java,
	* org/omg/PortableInterceptor/Interceptor.java,
	* org/omg/PortableInterceptor/InterceptorOperations.java,
	* org/omg/PortableInterceptor/InvalidSlot.java,
	* org/omg/PortableInterceptor/InvalidSlotHelper.java,
	* org/omg/PortableInterceptor/LOCATION_FORWARD.java,
	* org/omg/PortableInterceptor/ORBIdHelper.java,
	* org/omg/PortableInterceptor/ORBInitInfo.java,
	* org/omg/PortableInterceptor/ORBInitInfoOperations.java,
	* org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.java,
	* org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.java,
	* org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.java,
	* org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.java,
	* org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.java,
	* org/omg/PortableInterceptor/ORBInitializer.java,
	* org/omg/PortableInterceptor/ORBInitializerOperations.java,
	* org/omg/PortableInterceptor/ObjectIdHelper.java,
	* org/omg/PortableInterceptor/ObjectReferenceFactory.java,
	* org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.java,
	* org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.java,
	* org/omg/PortableInterceptor/ObjectReferenceTemplate.java,
	* org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.java,
	* org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.java,
	* org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.java,
	* org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.java,
	* org/omg/PortableInterceptor/PolicyFactory.java,
	* org/omg/PortableInterceptor/PolicyFactoryOperations.java,
	* org/omg/PortableInterceptor/RequestInfo.java,
	* org/omg/PortableInterceptor/RequestInfoOperations.java,
	* org/omg/PortableInterceptor/SUCCESSFUL.java,
	* org/omg/PortableInterceptor/SYSTEM_EXCEPTION.java,
	* org/omg/PortableInterceptor/ServerIdHelper.java,
	* org/omg/PortableInterceptor/ServerRequestInfo.java,
	* org/omg/PortableInterceptor/ServerRequestInfoOperations.java,
	* org/omg/PortableInterceptor/ServerRequestInterceptor.java,
	* org/omg/PortableInterceptor/ServerRequestInterceptorOperations.java,
	* org/omg/PortableInterceptor/TRANSPORT_RETRY.java,
	* org/omg/PortableInterceptor/USER_EXCEPTION.java,
	* org/omg/PortableInterceptor/_IORInterceptor_3_0Stub.java,
	* org/omg/PortableServer/AdapterActivator.java,
	* org/omg/PortableServer/AdapterActivatorOperations.java,
	* org/omg/PortableServer/Current.java,
	* org/omg/PortableServer/CurrentHelper.java,
	* org/omg/PortableServer/CurrentOperations.java,
	* org/omg/PortableServer/CurrentPackage/NoContext.java,
	* org/omg/PortableServer/CurrentPackage/NoContextHelper.java,
	* org/omg/PortableServer/DynamicImplementation.java,
	* org/omg/PortableServer/ForwardRequest.java,
	* org/omg/PortableServer/ForwardRequestHelper.java,
	* org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.java,
	* org/omg/PortableServer/ID_UNIQUENESS_POLICY_ID.java,
	* org/omg/PortableServer/IMPLICIT_ACTIVATION_POLICY_ID.java,
	* org/omg/PortableServer/IdAssignmentPolicy.java,
	* org/omg/PortableServer/IdAssignmentPolicyOperations.java,
	* org/omg/PortableServer/IdAssignmentPolicyValue.java,
	* org/omg/PortableServer/IdUniquenessPolicy.java,
	* org/omg/PortableServer/IdUniquenessPolicyOperations.java,
	* org/omg/PortableServer/IdUniquenessPolicyValue.java,
	* org/omg/PortableServer/ImplicitActivationPolicy.java,
	* org/omg/PortableServer/ImplicitActivationPolicyOperations.java,
	* org/omg/PortableServer/ImplicitActivationPolicyValue.java,
	* org/omg/PortableServer/LifespanPolicy.java,
	* org/omg/PortableServer/LifespanPolicyOperations.java,
	* org/omg/PortableServer/LifespanPolicyValue.java,
	* org/omg/PortableServer/POA.java,
	* org/omg/PortableServer/POAHelper.java,
	* org/omg/PortableServer/POAManager.java,
	* org/omg/PortableServer/POAManagerOperations.java,
	* org/omg/PortableServer/POAManagerPackage/AdapterInactive.java,
	* org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.java,
	* org/omg/PortableServer/POAManagerPackage/State.java,
	* org/omg/PortableServer/POAOperations.java,
	* org/omg/PortableServer/POAPackage/AdapterAlreadyExists.java,
	* org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.java,
	* org/omg/PortableServer/POAPackage/AdapterNonExistent.java,
	* org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.java,
	* org/omg/PortableServer/POAPackage/InvalidPolicy.java,
	* org/omg/PortableServer/POAPackage/InvalidPolicyHelper.java,
	* org/omg/PortableServer/POAPackage/NoServant.java,
	* org/omg/PortableServer/POAPackage/NoServantHelper.java,
	* org/omg/PortableServer/POAPackage/ObjectAlreadyActive.java,
	* org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.java,
	* org/omg/PortableServer/POAPackage/ObjectNotActive.java,
	* org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.java,
	* org/omg/PortableServer/POAPackage/ServantAlreadyActive.java,
	* org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.java,
	* org/omg/PortableServer/POAPackage/ServantNotActive.java,
	* org/omg/PortableServer/POAPackage/ServantNotActiveHelper.java,
	* org/omg/PortableServer/POAPackage/WrongAdapter.java,
	* org/omg/PortableServer/POAPackage/WrongAdapterHelper.java,
	* org/omg/PortableServer/POAPackage/WrongPolicy.java,
	* org/omg/PortableServer/POAPackage/WrongPolicyHelper.java,
	* org/omg/PortableServer/RequestProcessingPolicy.java,
	* org/omg/PortableServer/RequestProcessingPolicyOperations.java,
	* org/omg/PortableServer/RequestProcessingPolicyValue.java,
	* org/omg/PortableServer/Servant.java,
	* org/omg/PortableServer/ServantActivator.java,
	* org/omg/PortableServer/ServantActivatorHelper.java,
	* org/omg/PortableServer/ServantActivatorOperations.java,
	* org/omg/PortableServer/ServantActivatorPOA.java,
	* org/omg/PortableServer/ServantLocator.java,
	* org/omg/PortableServer/ServantLocatorHelper.java,
	* org/omg/PortableServer/ServantLocatorOperations.java,
	* org/omg/PortableServer/ServantLocatorPOA.java,
	* org/omg/PortableServer/ServantLocatorPackage/CookieHolder.java,
	* org/omg/PortableServer/ServantManager.java,
	* org/omg/PortableServer/ServantManagerOperations.java,
	* org/omg/PortableServer/ServantRetentionPolicy.java,
	* org/omg/PortableServer/ServantRetentionPolicyOperations.java,
	* org/omg/PortableServer/ServantRetentionPolicyValue.java,
	* org/omg/PortableServer/ThreadPolicy.java,
	* org/omg/PortableServer/ThreadPolicyOperations.java,
	* org/omg/PortableServer/ThreadPolicyValue.java,
	* org/omg/PortableServer/_ServantActivatorStub.java,
	* org/omg/PortableServer/_ServantLocatorStub.java,
	* org/omg/PortableServer/portable/Delegate.java,
	* org/omg/SendingContext/RunTime.java,
	* org/omg/SendingContext/RunTimeOperations.java,
	* sun/misc/Service.java,
	* sun/misc/ServiceConfigurationError.java,
	* sun/reflect/annotation/AnnotationInvocationHandler.java,
	* sun/reflect/annotation/AnnotationParser.java,
	* sun/reflect/annotation/AnnotationType.java,
	* sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.java,
	* sun/reflect/annotation/ExceptionProxy.java,
	* tools/com/sun/javadoc/ClassDoc.java,
	* tools/com/sun/javadoc/ConstructorDoc.java,
	* tools/com/sun/javadoc/Doc.java,
	* tools/com/sun/javadoc/DocErrorReporter.java,
	* tools/com/sun/javadoc/Doclet.java,
	* tools/com/sun/javadoc/ExecutableMemberDoc.java,
	* tools/com/sun/javadoc/FieldDoc.java,
	* tools/com/sun/javadoc/MemberDoc.java,
	* tools/com/sun/javadoc/MethodDoc.java,
	* tools/com/sun/javadoc/PackageDoc.java,
	* tools/com/sun/javadoc/ParamTag.java,
	* tools/com/sun/javadoc/Parameter.java,
	* tools/com/sun/javadoc/ProgramElementDoc.java,
	* tools/com/sun/javadoc/RootDoc.java,
	* tools/com/sun/javadoc/SeeTag.java,
	* tools/com/sun/javadoc/SerialFieldTag.java,
	* tools/com/sun/javadoc/Tag.java,
	* tools/com/sun/javadoc/ThrowsTag.java,
	* tools/com/sun/javadoc/Type.java,
	* tools/com/sun/javadoc/TypeVariable.java,
	* tools/com/sun/tools/javadoc/Main.java,
	* tools/com/sun/tools/javah/Main.java,
	* tools/external/asm/org/objectweb/asm/AnnotationVisitor.java,
	* tools/external/asm/org/objectweb/asm/AnnotationWriter.java,
	* tools/external/asm/org/objectweb/asm/Attribute.java,
	* tools/external/asm/org/objectweb/asm/ByteVector.java,
	* tools/external/asm/org/objectweb/asm/ClassAdapter.java,
	* tools/external/asm/org/objectweb/asm/ClassReader.java,
	* tools/external/asm/org/objectweb/asm/ClassVisitor.java,
	* tools/external/asm/org/objectweb/asm/ClassWriter.java,
	* tools/external/asm/org/objectweb/asm/Edge.java,
	* tools/external/asm/org/objectweb/asm/FieldVisitor.java,
	* tools/external/asm/org/objectweb/asm/FieldWriter.java,
	* tools/external/asm/org/objectweb/asm/Handler.java,
	* tools/external/asm/org/objectweb/asm/Item.java,
	* tools/external/asm/org/objectweb/asm/Label.java,
	* tools/external/asm/org/objectweb/asm/MethodAdapter.java,
	* tools/external/asm/org/objectweb/asm/MethodVisitor.java,
	* tools/external/asm/org/objectweb/asm/MethodWriter.java,
	* tools/external/asm/org/objectweb/asm/Opcodes.java,
	* tools/external/asm/org/objectweb/asm/Type.java,
	* tools/external/asm/org/objectweb/asm/attrs/StackMapAttribute.java,
	* tools/external/asm/org/objectweb/asm/attrs/StackMapFrame.java,
	* tools/external/asm/org/objectweb/asm/attrs/StackMapTableAttribute.java,
	* tools/external/asm/org/objectweb/asm/attrs/StackMapType.java,
	* tools/external/asm/org/objectweb/asm/commons/AdviceAdapter.java,
	* tools/external/asm/org/objectweb/asm/commons/EmptyVisitor.java,
	* tools/external/asm/org/objectweb/asm/commons/GeneratorAdapter.java,
	* tools/external/asm/org/objectweb/asm/commons/LocalVariablesSorter.java,
	* tools/external/asm/org/objectweb/asm/commons/Method.java,
	* tools/external/asm/org/objectweb/asm/commons/SerialVersionUIDAdder.java,
	* tools/external/asm/org/objectweb/asm/commons/StaticInitMerger.java,
	* tools/external/asm/org/objectweb/asm/commons/TableSwitchGenerator.java,
	* tools/external/asm/org/objectweb/asm/optimizer/AnnotationConstantsCollector.java,
	* tools/external/asm/org/objectweb/asm/optimizer/ClassConstantsCollector.java,
	* tools/external/asm/org/objectweb/asm/optimizer/ClassOptimizer.java,
	* tools/external/asm/org/objectweb/asm/optimizer/Constant.java,
	* tools/external/asm/org/objectweb/asm/optimizer/ConstantPool.java,
	* tools/external/asm/org/objectweb/asm/optimizer/FieldConstantsCollector.java,
	* tools/external/asm/org/objectweb/asm/optimizer/JarOptimizer.java,
	* tools/external/asm/org/objectweb/asm/optimizer/MethodConstantsCollector.java,
	* tools/external/asm/org/objectweb/asm/optimizer/MethodOptimizer.java,
	* tools/external/asm/org/objectweb/asm/optimizer/NameMapping.java,
	* tools/external/asm/org/objectweb/asm/optimizer/Shrinker.java,
	* tools/external/asm/org/objectweb/asm/signature/SignatureReader.java,
	* tools/external/asm/org/objectweb/asm/signature/SignatureVisitor.java,
	* tools/external/asm/org/objectweb/asm/signature/SignatureWriter.java,
	* tools/external/asm/org/objectweb/asm/tree/AbstractInsnNode.java,
	* tools/external/asm/org/objectweb/asm/tree/AnnotationNode.java,
	* tools/external/asm/org/objectweb/asm/tree/ClassNode.java,
	* tools/external/asm/org/objectweb/asm/tree/FieldInsnNode.java,
	* tools/external/asm/org/objectweb/asm/tree/FieldNode.java,
	* tools/external/asm/org/objectweb/asm/tree/IincInsnNode.java,
	* tools/external/asm/org/objectweb/asm/tree/InnerClassNode.java,
	* tools/external/asm/org/objectweb/asm/tree/InsnNode.java,
	* tools/external/asm/org/objectweb/asm/tree/IntInsnNode.java,
	* tools/external/asm/org/objectweb/asm/tree/JumpInsnNode.java,
	* tools/external/asm/org/objectweb/asm/tree/LabelNode.java,
	* tools/external/asm/org/objectweb/asm/tree/LdcInsnNode.java,
	* tools/external/asm/org/objectweb/asm/tree/LineNumberNode.java,
	* tools/external/asm/org/objectweb/asm/tree/LocalVariableNode.java,
	* tools/external/asm/org/objectweb/asm/tree/LookupSwitchInsnNode.java,
	* tools/external/asm/org/objectweb/asm/tree/MemberNode.java,
	* tools/external/asm/org/objectweb/asm/tree/MethodInsnNode.java,
	* tools/external/asm/org/objectweb/asm/tree/MethodNode.java,
	* tools/external/asm/org/objectweb/asm/tree/MultiANewArrayInsnNode.java,
	* tools/external/asm/org/objectweb/asm/tree/TableSwitchInsnNode.java,
	* tools/external/asm/org/objectweb/asm/tree/TryCatchBlockNode.java,
	* tools/external/asm/org/objectweb/asm/tree/TypeInsnNode.java,
	* tools/external/asm/org/objectweb/asm/tree/VarInsnNode.java,
	* tools/external/asm/org/objectweb/asm/tree/analysis/Analyzer.java,
	* tools/external/asm/org/objectweb/asm/tree/analysis/AnalyzerException.java,
	* tools/external/asm/org/objectweb/asm/tree/analysis/BasicInterpreter.java,
	* tools/external/asm/org/objectweb/asm/tree/analysis/BasicValue.java,
	* tools/external/asm/org/objectweb/asm/tree/analysis/BasicVerifier.java,
	* tools/external/asm/org/objectweb/asm/tree/analysis/DataflowInterpreter.java,
	* tools/external/asm/org/objectweb/asm/tree/analysis/DataflowValue.java,
	* tools/external/asm/org/objectweb/asm/tree/analysis/Frame.java,
	* tools/external/asm/org/objectweb/asm/tree/analysis/IntMap.java,
	* tools/external/asm/org/objectweb/asm/tree/analysis/Interpreter.java,
	* tools/external/asm/org/objectweb/asm/tree/analysis/SimpleVerifier.java,
	* tools/external/asm/org/objectweb/asm/tree/analysis/SmallSet.java,
	* tools/external/asm/org/objectweb/asm/tree/analysis/Subroutine.java,
	* tools/external/asm/org/objectweb/asm/tree/analysis/Value.java,
	* tools/external/asm/org/objectweb/asm/util/ASMifierAbstractVisitor.java,
	* tools/external/asm/org/objectweb/asm/util/ASMifierAnnotationVisitor.java,
	* tools/external/asm/org/objectweb/asm/util/ASMifierClassVisitor.java,
	* tools/external/asm/org/objectweb/asm/util/ASMifierFieldVisitor.java,
	* tools/external/asm/org/objectweb/asm/util/ASMifierMethodVisitor.java,
	* tools/external/asm/org/objectweb/asm/util/AbstractVisitor.java,
	* tools/external/asm/org/objectweb/asm/util/CheckAnnotationAdapter.java,
	* tools/external/asm/org/objectweb/asm/util/CheckClassAdapter.java,
	* tools/external/asm/org/objectweb/asm/util/CheckMethodAdapter.java,
	* tools/external/asm/org/objectweb/asm/util/TraceAbstractVisitor.java,
	* tools/external/asm/org/objectweb/asm/util/TraceAnnotationVisitor.java,
	* tools/external/asm/org/objectweb/asm/util/TraceClassVisitor.java,
	* tools/external/asm/org/objectweb/asm/util/TraceFieldVisitor.java,
	* tools/external/asm/org/objectweb/asm/util/TraceMethodVisitor.java,
	* tools/external/asm/org/objectweb/asm/util/TraceSignatureVisitor.java,
	* tools/external/asm/org/objectweb/asm/util/attrs/ASMStackMapAttribute.java,
	* tools/external/asm/org/objectweb/asm/util/attrs/ASMStackMapTableAttribute.java,
	* tools/external/asm/org/objectweb/asm/util/attrs/ASMifiable.java,
	* tools/external/asm/org/objectweb/asm/util/attrs/Traceable.java,
	* tools/external/asm/org/objectweb/asm/xml/ASMContentHandler.java,
	* tools/external/asm/org/objectweb/asm/xml/Processor.java,
	* tools/external/asm/org/objectweb/asm/xml/SAXAdapter.java,
	* tools/external/asm/org/objectweb/asm/xml/SAXAnnotationAdapter.java,
	* tools/external/asm/org/objectweb/asm/xml/SAXClassAdapter.java,
	* tools/external/asm/org/objectweb/asm/xml/SAXCodeAdapter.java,
	* tools/external/asm/org/objectweb/asm/xml/SAXFieldAdapter.java,
	* tools/generated/gnu/classpath/tools/gjdoc/expr/JavaLexer.java,
	* tools/generated/gnu/classpath/tools/gjdoc/expr/JavaRecognizer.java,
	* tools/generated/gnu/classpath/tools/gjdoc/expr/JavaTokenTypes.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/appletviewer/AppletSecurityManager.java,
	* tools/gnu/classpath/tools/appletviewer/AppletTag.java,
	* tools/gnu/classpath/tools/appletviewer/CommonAppletContext.java,
	* tools/gnu/classpath/tools/appletviewer/CommonAppletStub.java,
	* tools/gnu/classpath/tools/appletviewer/Main.java,
	* tools/gnu/classpath/tools/appletviewer/PluginAppletViewer.java,
	* tools/gnu/classpath/tools/appletviewer/PluginAppletWindow.java,
	* tools/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.java,
	* tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java,
	* tools/gnu/classpath/tools/appletviewer/TagParser.java,
	* tools/gnu/classpath/tools/common/CallbackUtil.java,
	* tools/gnu/classpath/tools/common/ClasspathToolParser.java,
	* tools/gnu/classpath/tools/common/Persistent.java,
	* tools/gnu/classpath/tools/common/ProviderUtil.java,
	* tools/gnu/classpath/tools/common/SecurityProviderInfo.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/getopt/FileArgumentCallback.java,
	* tools/gnu/classpath/tools/getopt/Option.java,
	* tools/gnu/classpath/tools/getopt/OptionGroup.java,
	* tools/gnu/classpath/tools/getopt/Parser.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/jar/Creator.java,
	* tools/gnu/classpath/tools/jar/Indexer.java,
	* tools/gnu/classpath/tools/jar/Main.java,
	* tools/gnu/classpath/tools/jar/Updater.java,
	* tools/gnu/classpath/tools/jarsigner/JarVerifier.java,
	* tools/gnu/classpath/tools/jarsigner/Main.java,
	* tools/gnu/classpath/tools/jarsigner/SFHelper.java,
	* tools/gnu/classpath/tools/java2xhtml/Java2xhtml.java,
	* tools/gnu/classpath/tools/javah/ClassWrapper.java,
	* tools/gnu/classpath/tools/javah/CniPrintStream.java,
	* tools/gnu/classpath/tools/javah/GcjhMain.java,
	* tools/gnu/classpath/tools/javah/JniHelper.java,
	* tools/gnu/classpath/tools/javah/JniIncludePrinter.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/keytool/CACertCmd.java,
	* tools/gnu/classpath/tools/keytool/CertReqCmd.java,
	* tools/gnu/classpath/tools/keytool/Command.java,
	* tools/gnu/classpath/tools/keytool/DeleteCmd.java,
	* tools/gnu/classpath/tools/keytool/ExportCmd.java,
	* tools/gnu/classpath/tools/keytool/GenKeyCmd.java,
	* tools/gnu/classpath/tools/keytool/IdentityDBCmd.java,
	* tools/gnu/classpath/tools/keytool/ImportCmd.java,
	* tools/gnu/classpath/tools/keytool/KeyCloneCmd.java,
	* tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java,
	* tools/gnu/classpath/tools/keytool/ListCmd.java,
	* tools/gnu/classpath/tools/keytool/PrintCertCmd.java,
	* tools/gnu/classpath/tools/keytool/SelfCertCmd.java,
	* tools/gnu/classpath/tools/keytool/StorePasswdCmd.java,
	* tools/gnu/classpath/tools/orbd/Main.java,
	* tools/gnu/classpath/tools/orbd/PersistentContext.java,
	* tools/gnu/classpath/tools/orbd/PersistentContextMap.java,
	* tools/gnu/classpath/tools/orbd/PersistentMap.java,
	* tools/gnu/classpath/tools/rmic/AbstractMethodGenerator.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/SourceGiopRmicCompiler.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/rmid/ActivationSystemImpl.java,
	* tools/gnu/classpath/tools/rmid/ActivationSystemImpl_Stub.java,
	* tools/gnu/classpath/tools/rmid/Main.java,
	* tools/gnu/classpath/tools/rmid/PersistentBidiHashTable.java,
	* tools/gnu/classpath/tools/rmiregistry/Main.java,
	* tools/gnu/classpath/tools/rmiregistry/PersistentHashTable.java,
	* tools/gnu/classpath/tools/rmiregistry/RegistryImpl.java,
	* tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Skel.java,
	* tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Stub.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,
	* tools/gnu/classpath/tools/tnameserv/Main.java,
	* vm/reference/gnu/classpath/jdwp/VMFrame.java,
	* vm/reference/gnu/classpath/jdwp/VMIdManager.java,
	* vm/reference/gnu/classpath/jdwp/VMMethod.java,
	* vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java,
	* vm/reference/gnu/java/lang/VMCPStringBuilder.java,
	* vm/reference/gnu/java/lang/VMInstrumentationImpl.java,
	* vm/reference/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java,
	* vm/reference/gnu/java/lang/management/VMCompilationMXBeanImpl.java,
	* vm/reference/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java,
	* vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java,
	* vm/reference/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java,
	* vm/reference/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java,
	* vm/reference/gnu/java/lang/management/VMThreadMXBeanImpl.java,
	* vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java,
	* vm/reference/gnu/java/net/VMPlainSocketImpl.java,
	* vm/reference/gnu/java/nio/VMChannel.java,
	* vm/reference/gnu/java/nio/VMPipe.java,
	* vm/reference/gnu/java/nio/VMSelector.java,
	* vm/reference/gnu/java/security/jce/prng/VMSecureRandom.java,
	* vm/reference/java/io/VMFile.java,
	* vm/reference/java/io/VMObjectInputStream.java,
	* vm/reference/java/io/VMObjectStreamClass.java,
	* vm/reference/java/lang/VMClass.java,
	* vm/reference/java/lang/VMClassLoader.java,
	* vm/reference/java/lang/VMDouble.java,
	* vm/reference/java/lang/VMFloat.java,
	* vm/reference/java/lang/VMMath.java,
	* vm/reference/java/lang/VMObject.java,
	* vm/reference/java/lang/VMProcess.java,
	* vm/reference/java/lang/VMRuntime.java,
	* vm/reference/java/lang/VMString.java,
	* vm/reference/java/lang/VMSystem.java,
	* vm/reference/java/lang/VMThread.java,
	* vm/reference/java/lang/reflect/VMConstructor.java,
	* vm/reference/java/lang/reflect/VMField.java,
	* vm/reference/java/lang/reflect/VMMethod.java,
	* vm/reference/java/net/VMNetworkInterface.java,
	* vm/reference/java/nio/channels/VMChannels.java,
	* vm/reference/java/security/VMAccessController.java,
	* vm/reference/java/security/VMSecureRandom.java,
	* vm/reference/java/util/VMTimeZone.java,
	* vm/reference/sun/misc/Unsafe.java,
	* vm/reference/sun/reflect/Reflection.java,
	* vm/reference/sun/reflect/misc/ReflectUtil.java:
	Normalise whitespace.

From-SVN: r168680
This commit is contained in:
Andrew John Hughes
2011-01-11 19:46:05 +00:00
committed by Andrew John Hughes
parent 9a270ad3c0
commit dc6715320d
4525 changed files with 106430 additions and 102601 deletions
@@ -35,7 +35,7 @@ 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 java.io;
/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
@@ -43,11 +43,11 @@ package java.io;
* plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
* Status: Believed complete and correct.
*/
/**
* This subclass of <code>FilterInputStream</code> buffers input from an
* This subclass of <code>FilterInputStream</code> buffers input from an
* underlying implementation to provide a possibly more efficient read
* mechanism. It maintains the buffer and buffer state in instance
* mechanism. It maintains the buffer and buffer state in instance
* variables that are available to subclasses. The default buffer size
* of 2048 bytes can be overridden by the creator of the stream.
* <p>
@@ -90,13 +90,13 @@ public class BufferedInputStream extends FilterInputStream
/**
* The value of <code>pos</code> when the <code>mark()</code> method was
* called.
* called.
* This is set to -1 if there is no mark set.
*/
protected int markpos = -1;
/**
* This is the maximum number of bytes than can be read after a
* This is the maximum number of bytes than can be read after a
* call to <code>mark()</code> before the mark can be discarded.
* After this may bytes are read, the <code>reset()</code> method
* may not be called successfully.
@@ -148,7 +148,7 @@ public class BufferedInputStream extends FilterInputStream
* stream before a read can block. A return of 0 indicates that blocking
* might (or might not) occur on the very next read attempt.
* <p>
* The number of available bytes will be the number of read ahead bytes
* The number of available bytes will be the number of read ahead bytes
* stored in the internal buffer plus the number of available bytes in
* the underlying stream.
*
@@ -179,7 +179,7 @@ public class BufferedInputStream extends FilterInputStream
/**
* This method marks a position in the input to which the stream can be
* "reset" by calling the <code>reset()</code> method. The parameter
* <code>readlimit</code> is the number of bytes that can be read from the
* <code>readlimit</code> is the number of bytes that can be read from the
* stream after setting the mark before the mark becomes invalid. For
* example, if <code>mark()</code> is called with a read limit of 10, then
* when 11 bytes of data are read from the stream before the
@@ -227,7 +227,7 @@ public class BufferedInputStream extends FilterInputStream
public synchronized int read() throws IOException
{
if (pos >= count && !refill())
return -1; // EOF
return -1; // EOF
return buf[pos++] & 0xFF;
}
@@ -265,7 +265,7 @@ public class BufferedInputStream extends FilterInputStream
return 0;
if (pos >= count && !refill())
return -1; // No bytes were read before EOF.
return -1; // No bytes were read before EOF.
int totalBytesRead = Math.min(count - pos, len);
System.arraycopy(buf, pos, b, off, totalBytesRead);
@@ -275,12 +275,12 @@ public class BufferedInputStream extends FilterInputStream
while (len > 0 && super.available() > 0 && refill())
{
int remain = Math.min(count - pos, len);
System.arraycopy(buf, pos, b, off, remain);
pos += remain;
off += remain;
len -= remain;
totalBytesRead += remain;
int remain = Math.min(count - pos, len);
System.arraycopy(buf, pos, b, off, remain);
pos += remain;
off += remain;
len -= remain;
totalBytesRead += remain;
}
return totalBytesRead;
@@ -327,12 +327,12 @@ public class BufferedInputStream extends FilterInputStream
while (n > 0L)
{
if (pos >= count && !refill())
if (pos >= count && !refill())
break;
int numread = (int) Math.min((long) (count - pos), n);
pos += numread;
n -= numread;
int numread = (int) Math.min((long) (count - pos), n);
pos += numread;
n -= numread;
}
return origN - n;
@@ -351,26 +351,26 @@ public class BufferedInputStream extends FilterInputStream
if (markpos == -1 || count - markpos >= marklimit)
{
markpos = -1;
pos = count = 0;
markpos = -1;
pos = count = 0;
}
else
{
byte[] newbuf = buf;
if (markpos < bufferSize)
{
newbuf = new byte[count - markpos + bufferSize];
}
System.arraycopy(buf, markpos, newbuf, 0, count - markpos);
buf = newbuf;
count -= markpos;
pos -= markpos;
markpos = 0;
byte[] newbuf = buf;
if (markpos < bufferSize)
{
newbuf = new byte[count - markpos + bufferSize];
}
System.arraycopy(buf, markpos, newbuf, 0, count - markpos);
buf = newbuf;
count -= markpos;
pos -= markpos;
markpos = 0;
}
int numread = super.read(buf, count, bufferSize);
if (numread <= 0) // EOF
if (numread <= 0) // EOF
return false;
count += numread;
@@ -7,7 +7,7 @@ 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
@@ -112,7 +112,7 @@ public class BufferedOutputStream extends FilterOutputStream
}
/**
* This method flushes any remaining buffered bytes then closes the
* This method flushes any remaining buffered bytes then closes the
* underlying output stream. Any further attempts to write to this stream
* may throw an exception
*
@@ -124,7 +124,7 @@ public class BufferedOutputStream extends FilterOutputStream
*/
/**
* This method runs when the object is garbage collected. It is
* This method runs when the object is garbage collected. It is
* responsible for ensuring that all buffered bytes are written and
* for closing the underlying stream.
*
@@ -156,8 +156,8 @@ public class BufferedOutputStream extends FilterOutputStream
}
/**
* This method writes <code>len</code> bytes from the byte array
* <code>buf</code> starting at position <code>offset</code> in the buffer.
* This method writes <code>len</code> bytes from the byte array
* <code>buf</code> starting at position <code>offset</code> in the buffer.
* These bytes will be written to the internal buffer. However, if this
* write operation fills the buffer, the buffer will be flushed to the
* underlying output stream.
@@ -168,7 +168,7 @@ public class BufferedOutputStream extends FilterOutputStream
*
* @exception IOException If an error occurs
*/
public synchronized void write(byte[] buf, int offset, int len)
public synchronized void write(byte[] buf, int offset, int len)
throws IOException
{
// Buffer can hold everything. Note that the case where LEN < 0
@@ -188,5 +188,4 @@ public class BufferedOutputStream extends FilterOutputStream
}
}
} // class BufferedOutputStream
} // class BufferedOutputStream
+227 -227
View File
@@ -8,7 +8,7 @@ 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
@@ -47,9 +47,9 @@ import gnu.java.lang.CPStringBuilder;
*/
/**
* This subclass of <code>FilterReader</code> buffers input from an
* This subclass of <code>FilterReader</code> buffers input from an
* underlying implementation to provide a possibly more efficient read
* mechanism. It maintains the buffer and buffer state in instance
* mechanism. It maintains the buffer and buffer state in instance
* variables that are available to subclasses. The default buffer size
* of 8192 chars can be overridden by the creator of the stream.
* <p>
@@ -91,7 +91,7 @@ public class BufferedReader extends Reader
static final int DEFAULT_BUFFER_SIZE = 8192;
/**
* Create a new <code>BufferedReader</code> that will read from the
* Create a new <code>BufferedReader</code> that will read from the
* specified subordinate stream with a default buffer size of 8192 chars.
*
* @param in The subordinate stream to read from
@@ -102,8 +102,8 @@ public class BufferedReader extends Reader
}
/**
* Create a new <code>BufferedReader</code> that will read from the
* specified subordinate stream with a buffer size that is specified by the
* Create a new <code>BufferedReader</code> that will read from the
* specified subordinate stream with a buffer size that is specified by the
* caller.
*
* @param in The subordinate stream to read from
@@ -130,15 +130,15 @@ public class BufferedReader extends Reader
{
synchronized (lock)
{
if (in != null)
in.close();
in = null;
buffer = null;
if (in != null)
in.close();
in = null;
buffer = null;
}
}
/**
* Returns <code>true</code> to indicate that this class supports mark/reset
* Returns <code>true</code> to indicate that this class supports mark/reset
* functionality.
*
* @return <code>true</code>
@@ -151,11 +151,11 @@ public class BufferedReader extends Reader
/**
* Mark a position in the input to which the stream can be
* "reset" by calling the <code>reset()</code> method. The parameter
* <code>readLimit</code> is the number of chars that can be read from the
* <code>readLimit</code> is the number of chars that can be read from the
* stream after setting the mark before the mark becomes invalid. For
* example, if <code>mark()</code> is called with a read limit of 10, then
* when 11 chars of data are read from the stream before the
* <code>reset()</code> method is called, then the mark is invalid and the
* example, if <code>mark()</code> is called with a read limit of 10, then
* when 11 chars of data are read from the stream before the
* <code>reset()</code> method is called, then the mark is invalid and the
* stream object instance is not required to remember the mark.
* <p>
* Note that the number of chars that can be remembered by this method
@@ -163,7 +163,7 @@ public class BufferedReader extends Reader
* not dependent on the subordinate stream supporting mark/reset
* functionality.
*
* @param readLimit The number of chars that can be read before the mark
* @param readLimit The number of chars that can be read before the mark
* becomes invalid
*
* @exception IOException If an error occurs
@@ -176,45 +176,45 @@ public class BufferedReader extends Reader
synchronized (lock)
{
checkStatus();
// In this method we need to be aware of the special case where
// pos + 1 == limit. This indicates that a '\r' was the last char
// in the buffer during a readLine. We'll want to maintain that
// condition after we shift things around and if a larger buffer is
// needed to track readLimit, we'll have to make it one element
// larger to ensure we don't invalidate the mark too early, if the
// char following the '\r' is NOT a '\n'. This is ok because, per
// the spec, we are not required to invalidate when passing readLimit.
//
// Note that if 'pos > limit', then doing 'limit -= pos' will cause
// limit to be negative. This is the only way limit will be < 0.
checkStatus();
// In this method we need to be aware of the special case where
// pos + 1 == limit. This indicates that a '\r' was the last char
// in the buffer during a readLine. We'll want to maintain that
// condition after we shift things around and if a larger buffer is
// needed to track readLimit, we'll have to make it one element
// larger to ensure we don't invalidate the mark too early, if the
// char following the '\r' is NOT a '\n'. This is ok because, per
// the spec, we are not required to invalidate when passing readLimit.
//
// Note that if 'pos > limit', then doing 'limit -= pos' will cause
// limit to be negative. This is the only way limit will be < 0.
if (pos + readLimit > limit)
{
char[] old_buffer = buffer;
int extraBuffSpace = 0;
if (pos > limit)
extraBuffSpace = 1;
if (readLimit + extraBuffSpace > limit)
buffer = new char[readLimit + extraBuffSpace];
limit -= pos;
if (limit >= 0)
{
System.arraycopy(old_buffer, pos, buffer, 0, limit);
pos = 0;
}
}
if (pos + readLimit > limit)
{
char[] old_buffer = buffer;
int extraBuffSpace = 0;
if (pos > limit)
extraBuffSpace = 1;
if (readLimit + extraBuffSpace > limit)
buffer = new char[readLimit + extraBuffSpace];
limit -= pos;
if (limit >= 0)
{
System.arraycopy(old_buffer, pos, buffer, 0, limit);
pos = 0;
}
}
if (limit < 0)
{
// Maintain the relationship of 'pos > limit'.
pos = 1;
limit = markPos = 0;
}
else
markPos = pos;
// Now pos + readLimit <= buffer.length. thus if we need to read
// beyond buffer.length, then we are allowed to invalidate markPos.
if (limit < 0)
{
// Maintain the relationship of 'pos > limit'.
pos = 1;
limit = markPos = 0;
}
else
markPos = pos;
// Now pos + readLimit <= buffer.length. thus if we need to read
// beyond buffer.length, then we are allowed to invalidate markPos.
}
}
@@ -233,20 +233,20 @@ public class BufferedReader extends Reader
{
synchronized (lock)
{
checkStatus();
if (markPos < 0)
throw new IOException("mark never set or invalidated");
checkStatus();
if (markPos < 0)
throw new IOException("mark never set or invalidated");
// Need to handle the extremely unlikely case where a readLine was
// done with a '\r' as the last char in the buffer; which was then
// immediately followed by a mark and a reset with NO intervening
// read of any sort. In that case, setting pos to markPos would
// lose that info and a subsequent read would thus not skip a '\n'
// (if one exists). The value of limit in this rare case is zero.
// We can assume that if limit is zero for other reasons, then
// pos is already set to zero and doesn't need to be readjusted.
if (limit > 0)
pos = markPos;
// Need to handle the extremely unlikely case where a readLine was
// done with a '\r' as the last char in the buffer; which was then
// immediately followed by a mark and a reset with NO intervening
// read of any sort. In that case, setting pos to markPos would
// lose that info and a subsequent read would thus not skip a '\n'
// (if one exists). The value of limit in this rare case is zero.
// We can assume that if limit is zero for other reasons, then
// pos is already set to zero and doesn't need to be readjusted.
if (limit > 0)
pos = markPos;
}
}
@@ -255,7 +255,7 @@ public class BufferedReader extends Reader
* this method returns <code>false</code> then this stream could (but is
* not guaranteed to) block on the next read attempt.
*
* @return <code>true</code> if this stream is ready to be read,
* @return <code>true</code> if this stream is ready to be read,
* <code>false</code> otherwise
*
* @exception IOException If an error occurs
@@ -264,14 +264,14 @@ public class BufferedReader extends Reader
{
synchronized (lock)
{
checkStatus();
return pos < limit || in.ready();
checkStatus();
return pos < limit || in.ready();
}
}
/**
* This method read chars from a stream and stores them into a caller
* supplied buffer. It starts storing the data at index
* supplied buffer. It starts storing the data at index
* <code>offset</code> into
* the buffer and attempts to read <code>len</code> chars. This method can
* return before reading the number of chars requested. The actual number
@@ -297,53 +297,53 @@ public class BufferedReader extends Reader
synchronized (lock)
{
checkStatus();
// Once again, we need to handle the special case of a readLine
// that has a '\r' at the end of the buffer. In this case, we'll
// need to skip a '\n' if it is the next char to be read.
// This special case is indicated by 'pos > limit'.
boolean retAtEndOfBuffer = false;
checkStatus();
// Once again, we need to handle the special case of a readLine
// that has a '\r' at the end of the buffer. In this case, we'll
// need to skip a '\n' if it is the next char to be read.
// This special case is indicated by 'pos > limit'.
boolean retAtEndOfBuffer = false;
int avail = limit - pos;
if (count > avail)
{
if (avail > 0)
count = avail;
else // pos >= limit
{
if (limit == buffer.length)
markPos = -1; // read too far - invalidate the mark.
if (pos > limit)
{
// Set a boolean and make pos == limit to simplify things.
retAtEndOfBuffer = true;
--pos;
}
if (markPos < 0)
{
// Optimization: can read directly into buf.
if (count >= buffer.length && !retAtEndOfBuffer)
return in.read(buf, offset, count);
pos = limit = 0;
}
avail = in.read(buffer, limit, buffer.length - limit);
if (retAtEndOfBuffer && avail > 0 && buffer[limit] == '\n')
{
--avail;
limit++;
}
if (avail < count)
{
if (avail <= 0)
return avail;
count = avail;
}
limit += avail;
}
}
System.arraycopy(buffer, pos, buf, offset, count);
pos += count;
return count;
int avail = limit - pos;
if (count > avail)
{
if (avail > 0)
count = avail;
else // pos >= limit
{
if (limit == buffer.length)
markPos = -1; // read too far - invalidate the mark.
if (pos > limit)
{
// Set a boolean and make pos == limit to simplify things.
retAtEndOfBuffer = true;
--pos;
}
if (markPos < 0)
{
// Optimization: can read directly into buf.
if (count >= buffer.length && !retAtEndOfBuffer)
return in.read(buf, offset, count);
pos = limit = 0;
}
avail = in.read(buffer, limit, buffer.length - limit);
if (retAtEndOfBuffer && avail > 0 && buffer[limit] == '\n')
{
--avail;
limit++;
}
if (avail < count)
{
if (avail <= 0)
return avail;
count = avail;
}
limit += avail;
}
}
System.arraycopy(buffer, pos, buf, offset, count);
pos += count;
return count;
}
}
@@ -360,7 +360,7 @@ public class BufferedReader extends Reader
if (pos > limit)
{
retAtEndOfBuffer = true;
--pos;
--pos;
}
if (markPos >= 0 && limit == buffer.length)
@@ -373,26 +373,26 @@ public class BufferedReader extends Reader
if (retAtEndOfBuffer && buffer[pos] == '\n')
{
--count;
// If the mark was set to the location of the \n, then we
// must change it to fully pretend that the \n does not
// exist.
if (markPos == pos)
++markPos;
++pos;
--count;
// If the mark was set to the location of the \n, then we
// must change it to fully pretend that the \n does not
// exist.
if (markPos == pos)
++markPos;
++pos;
}
return count;
}
public int read() throws IOException
{
synchronized (lock)
{
checkStatus();
if (pos >= limit && fill () <= 0)
return -1;
return buffer[pos++];
checkStatus();
if (pos >= limit && fill () <= 0)
return -1;
return buffer[pos++];
}
}
@@ -405,9 +405,9 @@ public class BufferedReader extends Reader
int i = pos;
for (; i < limit; i++)
{
char ch = buffer[i];
if (ch == '\n' || ch == '\r')
break;
char ch = buffer[i];
if (ch == '\n' || ch == '\r')
break;
}
return i;
}
@@ -418,9 +418,9 @@ public class BufferedReader extends Reader
* an "\r\n" sequence. The system dependent line separator is not used.
* The line termination characters are not returned in the resulting
* <code>String</code>.
*
*
* @return The line of text read, or <code>null</code> if end of stream.
*
*
* @exception IOException If an error occurs
*/
public String readLine() throws IOException
@@ -432,25 +432,25 @@ public class BufferedReader extends Reader
// This special case is indicated by 'pos > limit'.
if (pos > limit)
{
int ch = read();
if (ch < 0)
return null;
if (ch != '\n')
--pos;
int ch = read();
if (ch < 0)
return null;
if (ch != '\n')
--pos;
}
int i = lineEnd(limit);
if (i < limit)
{
String str = String.valueOf(buffer, pos, i - pos);
pos = i + 1;
// If the last char in the buffer is a '\r', we must remember
// to check if the next char to be read after the buffer is refilled
// is a '\n'. If so, skip it. To indicate this condition, we set pos
// to be limit + 1, which normally is never possible.
if (buffer[i] == '\r')
if (pos == limit || buffer[pos] == '\n')
pos++;
return str;
String str = String.valueOf(buffer, pos, i - pos);
pos = i + 1;
// If the last char in the buffer is a '\r', we must remember
// to check if the next char to be read after the buffer is refilled
// is a '\n'. If so, skip it. To indicate this condition, we set pos
// to be limit + 1, which normally is never possible.
if (buffer[i] == '\r')
if (pos == limit || buffer[pos] == '\n')
pos++;
return str;
}
CPStringBuilder sbuf = new CPStringBuilder(200);
sbuf.append(buffer, pos, i - pos);
@@ -462,33 +462,33 @@ public class BufferedReader extends Reader
boolean eof = false;
for (;;)
{
// readLine should block. So we must not return until a -1 is reached.
if (pos >= limit)
{
// here count == 0 isn't sufficient to give a failure.
int count = fill();
if (count < 0)
{
eof = true;
break;
}
continue;
}
int ch = buffer[pos++];
if (ch == '\n' || ch == '\r')
{
// Check here if a '\r' was the last char in the buffer; if so,
// mark it as in the comment above to indicate future reads
// should skip a newline that is the next char read after
// refilling the buffer.
if (ch == '\r')
if (pos == limit || buffer[pos] == '\n')
pos++;
break;
}
i = lineEnd(limit);
sbuf.append(buffer, pos - 1, i - (pos - 1));
pos = i;
// readLine should block. So we must not return until a -1 is reached.
if (pos >= limit)
{
// here count == 0 isn't sufficient to give a failure.
int count = fill();
if (count < 0)
{
eof = true;
break;
}
continue;
}
int ch = buffer[pos++];
if (ch == '\n' || ch == '\r')
{
// Check here if a '\r' was the last char in the buffer; if so,
// mark it as in the comment above to indicate future reads
// should skip a newline that is the next char read after
// refilling the buffer.
if (ch == '\r')
if (pos == limit || buffer[pos] == '\n')
pos++;
break;
}
i = lineEnd(limit);
sbuf.append(buffer, pos - 1, i - (pos - 1));
pos = i;
}
return (sbuf.length() == 0 && eof) ? null : sbuf.toString();
}
@@ -499,7 +499,7 @@ public class BufferedReader extends Reader
* requested amount.
* <p>
* This method first discards chars in the buffer, then calls the
* <code>skip</code> method on the underlying stream to skip the
* <code>skip</code> method on the underlying stream to skip the
* remaining chars.
*
* @param count The requested number of chars to skip
@@ -513,63 +513,63 @@ public class BufferedReader extends Reader
{
synchronized (lock)
{
checkStatus();
if (count < 0)
throw new IllegalArgumentException("skip value is negative");
if (count == 0)
return 0;
// Yet again, we need to handle the special case of a readLine
// that has a '\r' at the end of the buffer. In this case, we need
// to ignore a '\n' if it is the next char to be read.
// This special case is indicated by 'pos > limit' (i.e. avail < 0).
// To simplify things, if we're dealing with the special case for
// readLine, just read the next char (since the fill method will
// skip the '\n' for us). By doing this, we'll have to back up pos.
// That's easier than trying to keep track of whether we've skipped
// one element or not.
if (pos > limit)
{
if (read() < 0)
return 0;
else
--pos;
}
checkStatus();
if (count < 0)
throw new IllegalArgumentException("skip value is negative");
if (count == 0)
return 0;
// Yet again, we need to handle the special case of a readLine
// that has a '\r' at the end of the buffer. In this case, we need
// to ignore a '\n' if it is the next char to be read.
// This special case is indicated by 'pos > limit' (i.e. avail < 0).
// To simplify things, if we're dealing with the special case for
// readLine, just read the next char (since the fill method will
// skip the '\n' for us). By doing this, we'll have to back up pos.
// That's easier than trying to keep track of whether we've skipped
// one element or not.
if (pos > limit)
{
if (read() < 0)
return 0;
else
--pos;
}
int avail = limit - pos;
int avail = limit - pos;
if (count < avail)
{
pos += count;
return count;
}
if (count < avail)
{
pos += count;
return count;
}
pos = limit;
long todo = count - avail;
if (todo > buffer.length)
{
markPos = -1;
todo -= in.skip(todo);
}
else
{
while (todo > 0)
{
avail = fill();
if (avail <= 0)
break;
if (avail > todo)
avail = (int) todo;
pos += avail;
todo -= avail;
}
}
return count - todo;
pos = limit;
long todo = count - avail;
if (todo > buffer.length)
{
markPos = -1;
todo -= in.skip(todo);
}
else
{
while (todo > 0)
{
avail = fill();
if (avail <= 0)
break;
if (avail > todo)
avail = (int) todo;
pos += avail;
todo -= avail;
}
}
return count - todo;
}
}
private void checkStatus() throws IOException
{
if (in == null)
throw new IOException("Stream closed");
}
}
}
+51 -51
View File
@@ -7,7 +7,7 @@ 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
@@ -53,7 +53,7 @@ package java.io;
*
* @author Aaron M. Renn (arenn@urbanophile.com)
* @author Tom Tromey (tromey@cygnus.com)
* @date September 25, 1998
* @date September 25, 1998
*/
public class BufferedWriter extends Writer
{
@@ -110,7 +110,7 @@ public class BufferedWriter extends Writer
}
/**
* This method flushes any remaining buffered chars then closes the
* This method flushes any remaining buffered chars then closes the
* underlying output stream. Any further attempts to write to this stream
* may throw an exception
*
@@ -120,11 +120,11 @@ public class BufferedWriter extends Writer
{
synchronized (lock)
{
// It is safe to call localFlush even if the stream is already
// closed.
localFlush ();
out.close();
buffer = null;
// It is safe to call localFlush even if the stream is already
// closed.
localFlush ();
out.close();
buffer = null;
}
}
@@ -138,10 +138,10 @@ public class BufferedWriter extends Writer
{
synchronized (lock)
{
if (buffer == null)
throw new IOException ("Stream closed");
localFlush ();
out.flush();
if (buffer == null)
throw new IOException ("Stream closed");
localFlush ();
out.flush();
}
}
@@ -171,17 +171,17 @@ public class BufferedWriter extends Writer
{
synchronized (lock)
{
if (buffer == null)
throw new IOException ("Stream closed");
buffer[count++] = (char) oneChar;
if (count == buffer.length)
localFlush ();
if (buffer == null)
throw new IOException ("Stream closed");
buffer[count++] = (char) oneChar;
if (count == buffer.length)
localFlush ();
}
}
/**
* This method writes <code>len</code> chars from the char array
* <code>buf</code> starting at position <code>offset</code> in the buffer.
* This method writes <code>len</code> chars from the char array
* <code>buf</code> starting at position <code>offset</code> in the buffer.
* These chars will be written to the internal buffer. However, if this
* write operation fills the buffer, the buffer will be flushed to the
* underlying output stream.
@@ -196,28 +196,28 @@ public class BufferedWriter extends Writer
{
synchronized (lock)
{
if (buffer == null)
throw new IOException ("Stream closed");
if (buffer == null)
throw new IOException ("Stream closed");
// Bypass buffering if there is too much incoming data.
if (count + len > buffer.length)
{
localFlush ();
out.write(buf, offset, len);
}
else
{
System.arraycopy(buf, offset, buffer, count, len);
count += len;
if (count == buffer.length)
localFlush ();
}
// Bypass buffering if there is too much incoming data.
if (count + len > buffer.length)
{
localFlush ();
out.write(buf, offset, len);
}
else
{
System.arraycopy(buf, offset, buffer, count, len);
count += len;
if (count == buffer.length)
localFlush ();
}
}
}
/**
* This method writes <code>len</code> chars from the <code>String</code>
* <code>str</code> starting at position <code>offset</code> in the string.
* <code>str</code> starting at position <code>offset</code> in the string.
* These chars will be written to the internal buffer. However, if this
* write operation fills the buffer, the buffer will be flushed to the
* underlying output stream.
@@ -232,21 +232,21 @@ public class BufferedWriter extends Writer
{
synchronized (lock)
{
if (buffer == null)
throw new IOException ("Stream closed");
if (buffer == null)
throw new IOException ("Stream closed");
if (count + len > buffer.length)
{
localFlush ();
out.write(str, offset, len);
}
else
{
str.getChars(offset, offset + len, buffer, count);
count += len;
if (count == buffer.length)
localFlush ();
}
if (count + len > buffer.length)
{
localFlush ();
out.write(str, offset, len);
}
else
{
str.getChars(offset, offset + len, buffer, count);
count += len;
if (count == buffer.length)
localFlush ();
}
}
}
@@ -255,8 +255,8 @@ public class BufferedWriter extends Writer
{
if (count > 0)
{
out.write(buffer, 0, count);
count = 0;
out.write(buffer, 0, count);
count = 0;
}
}
}
@@ -7,7 +7,7 @@ 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
@@ -43,7 +43,7 @@ package java.io;
*
* @author Warren Levy (warrenl@cygnus.com)
* @author Aaron M. Renn (arenn@urbanophile.com)
*/
*/
public class ByteArrayInputStream extends InputStream
{
/**
@@ -78,9 +78,9 @@ public class ByteArrayInputStream extends InputStream
* of the array. It is identical to calling an overloaded constructor
* as <code>ByteArrayInputStream(buf, 0, buf.length)</code>.
* <p>
* Note that this array is not copied. If its contents are changed
* Note that this array is not copied. If its contents are changed
* while this stream is being read, those changes will be reflected in the
* bytes supplied to the reader. Please use caution in changing the
* bytes supplied to the reader. Please use caution in changing the
* contents of the buffer while this stream is open.
*
* @param buffer The byte array buffer this stream will read from.
@@ -100,9 +100,9 @@ public class ByteArrayInputStream extends InputStream
* The <code>length</code> value should be viewed as the array index
* one greater than the last position in the buffer to read.
* <p>
* Note that this array is not copied. If its contents are changed
* Note that this array is not copied. If its contents are changed
* while this stream is being read, those changes will be reflected in the
* bytes supplied to the reader. Please use caution in changing the
* bytes supplied to the reader. Please use caution in changing the
* contents of the buffer while this stream is open.
*
* @param buffer The byte array buffer this stream will read from.
@@ -129,7 +129,7 @@ public class ByteArrayInputStream extends InputStream
* stream. The value returned will be equal to <code>count - pos</code>.
*
* @return The number of bytes that can be read from this stream
* before blocking, which is all of them
* before blocking, which is all of them
*/
public synchronized int available()
{
@@ -8,7 +8,7 @@ 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
@@ -63,12 +63,12 @@ package java.io;
* <p>
* Note that this class also has methods that convert the byte array
* buffer to a <code>String</code> using either the system default or an
* application specified character encoding. Thus it can handle
* application specified character encoding. Thus it can handle
* multibyte character encodings.
*
* @author Aaron M. Renn (arenn@urbanophile.com)
* @author Tom Tromey (tromey@cygnus.com)
* @date September 24, 1998
* @date September 24, 1998
*/
public class ByteArrayOutputStream extends OutputStream
{
@@ -130,7 +130,7 @@ public class ByteArrayOutputStream extends OutputStream
* This method returns a byte array containing the bytes that have been
* written to this stream so far. This array is a copy of the valid
* bytes in the internal buffer and its length is equal to the number of
* valid bytes, not necessarily to the the length of the current
* valid bytes, not necessarily to the the length of the current
* internal buffer. Note that since this method allocates a new array,
* it should be used with caution when the internal buffer is very large.
*/
@@ -158,7 +158,7 @@ public class ByteArrayOutputStream extends OutputStream
/**
* Returns the bytes in the internal array as a <code>String</code>. The
* bytes in the buffer are converted to characters using the specified
* encoding.
* encoding.
*
* @param enc The name of the character encoding to use
*
@@ -184,7 +184,7 @@ public class ByteArrayOutputStream extends OutputStream
* methods which use a true character encoding.
*
* @param hibyte The high eight bits to use for each character in
* the <code>String</code>
* the <code>String</code>
*
* @return A <code>String</code> containing the data written to this
* stream so far
@@ -201,12 +201,12 @@ public class ByteArrayOutputStream extends OutputStream
{
if (count + add > buf.length)
{
int newlen = buf.length * 2;
if (count + add > newlen)
newlen = count + add;
byte[] newbuf = new byte[newlen];
System.arraycopy(buf, 0, newbuf, 0, count);
buf = newbuf;
int newlen = buf.length * 2;
if (count + add > newlen)
newlen = count + add;
byte[] newbuf = new byte[newlen];
System.arraycopy(buf, 0, newbuf, 0, count);
buf = newbuf;
}
}
@@ -223,7 +223,7 @@ public class ByteArrayOutputStream extends OutputStream
}
/**
* This method writes <code>len</code> bytes from the passed in array
* This method writes <code>len</code> bytes from the passed in array
* <code>buf</code> starting at index <code>offset</code> into the
* internal buffer.
*
@@ -276,7 +276,7 @@ public class ByteArrayOutputStream extends OutputStream
{
int r
= Integer.getInteger ("gnu.java.io.ByteArrayOutputStream.initialBufferSize",
DEFAULT_INITIAL_BUFFER_SIZE).intValue ();
DEFAULT_INITIAL_BUFFER_SIZE).intValue ();
if (r <= 0)
r = DEFAULT_INITIAL_BUFFER_SIZE;
initial_buffer_size = r;
+44 -44
View File
@@ -7,7 +7,7 @@ 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
@@ -35,7 +35,7 @@ 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 java.io;
/**
@@ -78,9 +78,9 @@ public class CharArrayReader extends Reader
* of the array. It is identical to calling an overloaded constructor
* as <code>CharArrayReader(buf, 0, buf.length)</code>.
* <p>
* Note that this array is not copied. If its contents are changed
* Note that this array is not copied. If its contents are changed
* while this stream is being read, those changes will be reflected in the
* chars supplied to the reader. Please use caution in changing the
* chars supplied to the reader. Please use caution in changing the
* contents of the buffer while this stream is open.
*
* @param buffer The char array buffer this stream will read from.
@@ -100,9 +100,9 @@ public class CharArrayReader extends Reader
* The <code>length</code> value should be viewed as the array index
* one greater than the last position in the buffer to read.
* <p>
* Note that this array is not copied. If its contents are changed
* Note that this array is not copied. If its contents are changed
* while this stream is being read, those changes will be reflected in the
* chars supplied to the reader. Please use caution in changing the
* chars supplied to the reader. Please use caution in changing the
* contents of the buffer while this stream is open.
*
* @param buffer The char array buffer this stream will read from.
@@ -114,13 +114,13 @@ public class CharArrayReader extends Reader
super();
if (offset < 0 || length < 0 || offset > buffer.length)
throw new IllegalArgumentException();
buf = buffer;
count = offset + length;
if (count > buf.length)
count = buf.length;
pos = offset;
markedPos = pos;
}
@@ -132,7 +132,7 @@ public class CharArrayReader extends Reader
{
synchronized (lock)
{
buf = null;
buf = null;
}
}
@@ -155,10 +155,10 @@ public class CharArrayReader extends Reader
{
synchronized (lock)
{
if (buf == null)
throw new IOException("Stream closed");
// readAheadLimit is ignored per Java Class Lib. book, p. 318.
markedPos = pos;
if (buf == null)
throw new IOException("Stream closed");
// readAheadLimit is ignored per Java Class Lib. book, p. 318.
markedPos = pos;
}
}
@@ -189,15 +189,15 @@ public class CharArrayReader extends Reader
{
synchronized (lock)
{
if (buf == null)
throw new IOException("Stream closed");
if (buf == null)
throw new IOException("Stream closed");
if (pos < 0)
throw new ArrayIndexOutOfBoundsException(pos);
if (pos < 0)
throw new ArrayIndexOutOfBoundsException(pos);
if (pos < count)
return ((int) buf[pos++]) & 0xFFFF;
return -1;
if (pos < count)
return ((int) buf[pos++]) & 0xFFFF;
return -1;
}
}
@@ -223,25 +223,25 @@ public class CharArrayReader extends Reader
{
synchronized (lock)
{
if (buf == null)
throw new IOException("Stream closed");
if (buf == null)
throw new IOException("Stream closed");
/* Don't need to check pos value, arraycopy will check it. */
if (off < 0 || len < 0 || off + len > b.length)
throw new IndexOutOfBoundsException();
/* Don't need to check pos value, arraycopy will check it. */
if (off < 0 || len < 0 || off + len > b.length)
throw new IndexOutOfBoundsException();
if (pos >= count)
return -1;
if (pos >= count)
return -1;
int numChars = Math.min(count - pos, len);
System.arraycopy(buf, pos, b, off, numChars);
pos += numChars;
return numChars;
int numChars = Math.min(count - pos, len);
System.arraycopy(buf, pos, b, off, numChars);
pos += numChars;
return numChars;
}
}
/**
* Return true if more characters are available to be read.
* Return true if more characters are available to be read.
*
* @return <code>true</code> to indicate that this stream is ready
* to be read.
@@ -268,10 +268,10 @@ public class CharArrayReader extends Reader
{
synchronized (lock)
{
if (buf == null)
throw new IOException("Stream closed");
if (buf == null)
throw new IOException("Stream closed");
pos = markedPos;
pos = markedPos;
}
}
@@ -290,16 +290,16 @@ public class CharArrayReader extends Reader
{
synchronized (lock)
{
if (buf == null)
throw new IOException("Stream closed");
if (buf == null)
throw new IOException("Stream closed");
// Even though the var numChars is a long, in reality it can never
// be larger than an int since the result of subtracting 2 positive
// ints will always fit in an int. Since we have to return a long
// anyway, numChars might as well just be a long.
long numChars = Math.min((long) (count - pos), n < 0 ? 0L : n);
pos += numChars;
return numChars;
// Even though the var numChars is a long, in reality it can never
// be larger than an int since the result of subtracting 2 positive
// ints will always fit in an int. Since we have to return a long
// anyway, numChars might as well just be a long.
long numChars = Math.min((long) (count - pos), n < 0 ? 0L : n);
pos += numChars;
return numChars;
}
}
}
+35 -35
View File
@@ -7,7 +7,7 @@ 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
@@ -116,7 +116,7 @@ public class CharArrayWriter extends Writer
{
synchronized (lock)
{
count = 0;
count = 0;
}
}
@@ -141,17 +141,17 @@ public class CharArrayWriter extends Writer
* This method returns a char array containing the chars that have been
* written to this stream so far. This array is a copy of the valid
* chars in the internal buffer and its length is equal to the number of
* valid chars, not necessarily to the the length of the current
* valid chars, not necessarily to the the length of the current
* internal buffer. Note that since this method allocates a new array,
* it should be used with caution when the internal buffer is very large.
*/
public char[] toCharArray ()
{
synchronized (lock)
{
char[] nc = new char[count];
System.arraycopy(buf, 0, nc, 0, count);
return nc;
{
char[] nc = new char[count];
System.arraycopy(buf, 0, nc, 0, count);
return nc;
}
}
@@ -168,7 +168,7 @@ public class CharArrayWriter extends Writer
{
synchronized (lock)
{
return new String (buf, 0, count);
return new String (buf, 0, count);
}
}
@@ -182,13 +182,13 @@ public class CharArrayWriter extends Writer
{
synchronized (lock)
{
resize (1);
buf[count++] = (char) oneChar;
resize (1);
buf[count++] = (char) oneChar;
}
}
/**
* This method writes <code>len</code> chars from the passed in array
* This method writes <code>len</code> chars from the passed in array
* <code>buf</code> starting at index <code>offset</code> into that buffer
*
* @param buffer The char array to write data from
@@ -199,10 +199,10 @@ public class CharArrayWriter extends Writer
{
synchronized (lock)
{
if (len >= 0)
resize (len);
System.arraycopy(buffer, offset, buf, count, len);
count += len;
if (len >= 0)
resize (len);
System.arraycopy(buffer, offset, buf, count, len);
count += len;
}
}
@@ -219,10 +219,10 @@ public class CharArrayWriter extends Writer
{
synchronized (lock)
{
if (len >= 0)
resize (len);
str.getChars(offset, offset + len, buf, count);
count += len;
if (len >= 0)
resize (len);
str.getChars(offset, offset + len, buf, count);
count += len;
}
}
@@ -238,17 +238,17 @@ public class CharArrayWriter extends Writer
{
synchronized (lock)
{
out.write(buf, 0, count);
out.write(buf, 0, count);
}
}
/**
/**
* Appends the Unicode character, <code>c</code>, to the output stream
* underlying this writer. This is equivalent to <code>write(c)</code>.
*
* @param c the character to append.
* @return a reference to this object.
* @since 1.5
* @since 1.5
*/
public CharArrayWriter append(char c)
{
@@ -256,7 +256,7 @@ public class CharArrayWriter extends Writer
return this;
}
/**
/**
* Appends the specified sequence of Unicode characters to the
* output stream underlying this writer. This is equivalent to
* appending the results of calling <code>toString()</code> on the
@@ -271,22 +271,22 @@ public class CharArrayWriter extends Writer
* then the string "null" (the string representation of null)
* is appended.
* @return a reference to this object.
* @since 1.5
* @since 1.5
*/
public CharArrayWriter append(CharSequence cs)
{
try
{
write(cs == null ? "null" : cs.toString());
write(cs == null ? "null" : cs.toString());
}
catch (IOException _)
{
// Can't happen.
// Can't happen.
}
return this;
}
/**
/**
* Appends the specified subsequence of Unicode characters to the
* output stream underlying this writer, starting and ending at the
* specified positions within the sequence. The behaviour of this
@@ -311,11 +311,11 @@ public class CharArrayWriter extends Writer
{
try
{
write(cs == null ? "null" : cs.subSequence(start, end).toString());
write(cs == null ? "null" : cs.subSequence(start, end).toString());
}
catch (IOException _)
{
// Can't happen.
// Can't happen.
}
return this;
}
@@ -331,12 +331,12 @@ public class CharArrayWriter extends Writer
{
if (count + len >= buf.length)
{
int newlen = buf.length * 2;
if (count + len > newlen)
newlen = count + len;
char[] newbuf = new char[newlen];
System.arraycopy(buf, 0, newbuf, 0, count);
buf = newbuf;
int newlen = buf.length * 2;
if (count + len > newlen)
newlen = count + len;
char[] newbuf = new char[newlen];
System.arraycopy(buf, 0, newbuf, 0, count);
buf = newbuf;
}
}
+52 -52
View File
@@ -7,7 +7,7 @@ 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
@@ -40,12 +40,12 @@ package java.io;
/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
* "The Java Language Specification", ISBN 0-201-63451-1
* plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
* plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
* Status: Believed complete and correct. */
/**
* This interface is implemented by classes that can data from streams
* into Java primitive types.
* This interface is implemented by classes that can data from streams
* into Java primitive types.
*
* @author Aaron M. Renn (arenn@urbanophile.com)
* @author Warren Levy (warrenl@cygnus.com)
@@ -65,7 +65,7 @@ public interface DataInput
*
* @return The <code>boolean</code> value read
*
* @exception EOFException If end of file is reached before
* @exception EOFException If end of file is reached before
* reading the boolean
* @exception IOException If any other error occurs
*
@@ -78,7 +78,7 @@ public interface DataInput
* is in the range of -128 to 127.
* <p>
* This method can read a <code>byte</code> written by an object
* implementing the
* implementing the
* <code>writeByte()</code> method in the <code>DataOutput</code> interface.
* <p>
* @return The <code>byte</code> value read
@@ -94,7 +94,7 @@ public interface DataInput
* This method reads 8 unsigned bits into a Java <code>int</code> value from
* the stream. The value returned is in the range of 0 to 255.
* <p>
* This method can read an unsigned byte written by an object
* This method can read an unsigned byte written by an object
* implementing the
* <code>writeByte()</code> method in the <code>DataOutput</code>
* interface.
@@ -109,11 +109,11 @@ public interface DataInput
int readUnsignedByte() throws EOFException, IOException;
/**
* This method reads a Java <code>char</code> value from an input stream.
* It operates by reading two bytes from the stream and converting them to
* This method reads a Java <code>char</code> value from an input stream.
* It operates by reading two bytes from the stream and converting them to
* a single 16-bit Java <code>char</code>. The two bytes are stored most
* significant byte first (i.e., "big endian") regardless of the native
* host byte ordering.
* host byte ordering.
* <p>
* As an example, if <code>byte1</code> and <code>byte2</code> represent the
* first and second byte read from the stream respectively, they will be
@@ -125,7 +125,7 @@ public interface DataInput
* the
* <code>writeChar()</code> method in the <code>DataOutput</code> interface.
*
* @return The <code>char</code> value read
* @return The <code>char</code> value read
*
* @exception EOFException If end of file is reached before reading the char
* @exception IOException If any other error occurs
@@ -136,10 +136,10 @@ public interface DataInput
/**
* This method reads a signed 16-bit value into a Java in from the stream.
* It operates by reading two bytes from the stream and converting them to
* It operates by reading two bytes from the stream and converting them to
* a single 16-bit Java <code>short</code>. The two bytes are stored most
* significant byte first (i.e., "big endian") regardless of the native
* host byte ordering.
* host byte ordering.
* <p>
* As an example, if <code>byte1</code> and <code>byte2</code> represent the
* first and second byte read from the stream respectively, they will be
@@ -149,7 +149,7 @@ public interface DataInput
* <p>
* The value returned is in the range of -32768 to 32767.
* <p>
* This method can read a <code>short</code> written by an object
* This method can read a <code>short</code> written by an object
* implementing
* the <code>writeShort()</code> method in the <code>DataOutput</code>
* interface.
@@ -165,10 +165,10 @@ public interface DataInput
/**
* This method reads 16 unsigned bits into a Java int value from the stream.
* It operates by reading two bytes from the stream and converting them to
* It operates by reading two bytes from the stream and converting them to
* a single Java <code>int</code>. The two bytes are stored most
* significant byte first (i.e., "big endian") regardless of the native
* host byte ordering.
* host byte ordering.
* <p>
* As an example, if <code>byte1</code> and <code>byte2</code> represent the
* first and second byte read from the stream respectively, they will be
@@ -179,13 +179,13 @@ public interface DataInput
* The value returned is in the range of 0 to 65535.
* <p>
* This method can read an unsigned short written by an object implementing
* the <code>writeShort()</code> method in the
* the <code>writeShort()</code> method in the
* <code>DataOutput</code>
* interface.
*
* @return The unsigned short value read as a Java <code>int</code>.
*
* @exception EOFException If end of file is reached before reading
* @exception EOFException If end of file is reached before reading
* the value
* @exception IOException If any other error occurs
*
@@ -195,22 +195,22 @@ public interface DataInput
/**
* This method reads a Java <code>int</code> value from an input stream
* It operates by reading four bytes from the stream and converting them to
* It operates by reading four bytes from the stream and converting them to
* a single Java <code>int</code>. The bytes are stored most
* significant byte first (i.e., "big endian") regardless of the native
* host byte ordering.
* host byte ordering.
* <p>
* As an example, if <code>byte1</code> through <code>byte4</code> represent
* the first four bytes read from the stream, they will be
* transformed to an <code>int</code> in the following manner:
* <p>
* <code>(int)(((byte1 & 0xFF) << 24) + ((byte2 & 0xFF) << 16) +
* <code>(int)(((byte1 & 0xFF) << 24) + ((byte2 & 0xFF) << 16) +
* ((byte3 & 0xFF)<< 8) + (byte4 & 0xFF)))</code>
* <p>
* The value returned is in the range of -2147483648 to 2147483647.
* <p>
* This method can read an <code>int</code> written by an object
* implementing the <code>writeInt()</code> method in the
* This method can read an <code>int</code> written by an object
* implementing the <code>writeInt()</code> method in the
* <code>DataOutput</code> interface.
*
* @return The <code>int</code> value read
@@ -224,26 +224,26 @@ public interface DataInput
/**
* This method reads a Java <code>long</code> value from an input stream
* It operates by reading eight bytes from the stream and converting them to
* It operates by reading eight bytes from the stream and converting them to
* a single Java <code>long</code>. The bytes are stored most
* significant byte first (i.e., "big endian") regardless of the native
* host byte ordering.
* host byte ordering.
* <p>
* As an example, if <code>byte1</code> through <code>byte8</code> represent
* the first eight bytes read from the stream, they will be
* transformed to an <code>long</code> in the following manner:
* <p>
* <code>(long)(((byte1 & 0xFF) << 56) + ((byte2 & 0xFF) << 48) +
* ((byte3 & 0xFF) << 40) + ((byte4 & 0xFF) << 32) +
* ((byte5 & 0xFF) << 24) + ((byte6 & 0xFF) << 16) +
* <code>(long)(((byte1 & 0xFF) << 56) + ((byte2 & 0xFF) << 48) +
* ((byte3 & 0xFF) << 40) + ((byte4 & 0xFF) << 32) +
* ((byte5 & 0xFF) << 24) + ((byte6 & 0xFF) << 16) +
* ((byte7 & 0xFF) << 8) + (byte8 & 0xFF)))
* </code>
* <p>
* The value returned is in the range of -9223372036854775808 to
* 9223372036854775807.
* <p>
* This method can read an <code>long</code> written by an object
* implementing the <code>writeLong()</code> method in the
* This method can read an <code>long</code> written by an object
* implementing the <code>writeLong()</code> method in the
* <code>DataOutput</code> interface.
*
* @return The <code>long</code> value read
@@ -263,14 +263,14 @@ public interface DataInput
* <code>intBitsToFloat</code> method in the class
* <code>java.lang.Float</code>.
* <p>
* This method can read a <code>float</code> written by an object
* This method can read a <code>float</code> written by an object
* implementing
* the <code>writeFloat()</code> method in the <code>DataOutput</code>
* interface.
*
* @return The <code>float</code> value read
*
* @exception EOFException If end of file is reached before reading the
* @exception EOFException If end of file is reached before reading the
* float
* @exception IOException If any other error occurs
*
@@ -293,7 +293,7 @@ public interface DataInput
*
* @return The <code>double</code> value read
*
* @exception EOFException If end of file is reached before reading the
* @exception EOFException If end of file is reached before reading the
* double
* @exception IOException If any other error occurs
*
@@ -304,16 +304,16 @@ public interface DataInput
/**
* This method reads the next line of text data from an input stream.
* It operates by reading bytes and converting those bytes to
* It operates by reading bytes and converting those bytes to
* <code>char</code>
* values by treating the byte read as the low eight bits of the
* <code>char</code> and using 0 as the high eight bits. Because of this,
* it does not support the full 16-bit Unicode character set.
* <P>
* The reading of bytes ends when either the end of file or a line terminator
* is encountered. The bytes read are then returned as a
* is encountered. The bytes read are then returned as a
* <code>String</code>.
* A line terminator is a byte sequence consisting of either
* A line terminator is a byte sequence consisting of either
* <code>\r</code>, <code>\n</code> or <code>\r\n</code>. These termination
* charaters are discarded and are not returned as part of the string.
* A line is also terminated by an end of file condition.
@@ -328,17 +328,17 @@ public interface DataInput
/**
* This method reads a <code>String</code> from an input stream that is
* encoded in a modified UTF-8 format. This format has a leading two byte
* sequence that contains the remaining number of bytes to read.
* sequence that contains the remaining number of bytes to read.
* This two byte
* sequence is read using the <code>readUnsignedShort()</code> method of this
* interface.
*
* After the number of remaining bytes have been determined, these bytes
* are read an transformed into <code>char</code> values. These
* <code>char</code> values are encoded in the stream using either a one,
* <code>char</code> values are encoded in the stream using either a one,
* two, or three byte format.
* The particular format in use can be determined by examining the first
* byte read.
* byte read.
* <p>
* If the first byte has a high order bit of 0, then
* that character consists on only one byte. This character value consists
@@ -348,10 +348,10 @@ public interface DataInput
* <p>
* <code>(char)byte1</code>
* <p>
* If the first byte has 110 as its high order bits, then the
* If the first byte has 110 as its high order bits, then the
* character consists of two bytes. The bits that make up the character
* value are in positions 0 through 4 of the first byte and bit positions
* 0 through 5 of the second byte. (The second byte should have
* 0 through 5 of the second byte. (The second byte should have
* 10 as its high order bits). These values are in most significant
* byte first (i.e., "big endian") order.
* <p>
@@ -380,16 +380,16 @@ public interface DataInput
*
* Note that all characters are encoded in the method that requires the
* fewest number of bytes with the exception of the character with the
* value of <code>\&lt;llll&gt;u0000</code> which is encoded as two bytes.
* This is a modification of the UTF standard used to prevent C language
* value of <code>\&lt;llll&gt;u0000</code> which is encoded as two bytes.
* This is a modification of the UTF standard used to prevent C language
* style <code>NUL</code> values from appearing in the byte stream.
* <p>
* This method can read data that was written by an object implementing the
* <code>writeUTF()</code> method in <code>DataOutput</code>.
*
*
* @return The <code>String</code> read
*
* @exception EOFException If end of file is reached before reading the
* @exception EOFException If end of file is reached before reading the
* String
* @exception UTFDataFormatException If the data is not in UTF-8 format
* @exception IOException If any other error occurs
@@ -408,19 +408,19 @@ public interface DataInput
*
* @param buf The buffer into which to read the data
*
* @exception EOFException If end of file is reached before filling the
* @exception EOFException If end of file is reached before filling the
* buffer
* @exception IOException If any other error occurs
*/
void readFully(byte[] buf) throws EOFException, IOException;
/**
* This method reads raw bytes into the passed array <code>buf</code>
* This method reads raw bytes into the passed array <code>buf</code>
* starting
* <code>offset</code> bytes into the buffer. The number of bytes read
* <code>offset</code> bytes into the buffer. The number of bytes read
* will be
* exactly <code>len</code>. Note that this method blocks until the data is
* available and throws an exception if there is not enough data left in
* exactly <code>len</code>. Note that this method blocks until the data is
* available and throws an exception if there is not enough data left in
* the stream to read <code>len</code> bytes. Note also that zero length
* buffers are permitted. In this case, the method will return immediately
* without reading any bytes from the stream.
@@ -429,11 +429,11 @@ public interface DataInput
* @param offset The offset into the buffer to start storing data
* @param len The number of bytes to read into the buffer
*
* @exception EOFException If end of file is reached before filling the
* @exception EOFException If end of file is reached before filling the
* buffer
* @exception IOException If any other error occurs
*/
void readFully(byte[] buf, int offset, int len)
void readFully(byte[] buf, int offset, int len)
throws EOFException, IOException;
/**
+92 -92
View File
@@ -8,7 +8,7 @@ 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
@@ -35,7 +35,7 @@ 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 java.io;
import gnu.java.lang.CPStringBuilder;
@@ -45,7 +45,7 @@ import gnu.java.lang.CPStringBuilder;
* plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
* Status: Believed complete and correct.
*/
/**
* This subclass of <code>FilteredInputStream</code> implements the
* <code>DataInput</code> interface that provides method for reading primitive
@@ -55,13 +55,13 @@ import gnu.java.lang.CPStringBuilder;
*
* @author Warren Levy (warrenl@cygnus.com)
* @author Aaron M. Renn (arenn@urbanophile.com)
* @date October 20, 1998.
* @date October 20, 1998.
*/
public class DataInputStream extends FilterInputStream implements DataInput
{
// Byte buffer, used to make primitive read calls more efficient.
byte[] buf = new byte [8];
/**
* This constructor initializes a new <code>DataInputStream</code>
* to read from the specified subordinate stream.
@@ -80,8 +80,8 @@ public class DataInputStream extends FilterInputStream implements DataInput
* read to fill the buffer.
*
* @param b The buffer into which bytes will be read.
*
* @return The actual number of bytes read, or -1 if end of stream reached
*
* @return The actual number of bytes read, or -1 if end of stream reached
* before reading any bytes.
*
* @exception IOException If an error occurs.
@@ -120,7 +120,7 @@ public class DataInputStream extends FilterInputStream implements DataInput
* <p>
* This method can read a <code>boolean</code> written by an object
* implementing the <code>writeBoolean()</code> method in the
* <code>DataOutput</code> interface.
* <code>DataOutput</code> interface.
*
* @return The <code>boolean</code> value read
*
@@ -156,24 +156,24 @@ public class DataInputStream extends FilterInputStream implements DataInput
}
/**
* This method reads a Java <code>char</code> value from an input stream.
* It operates by reading two bytes from the stream and converting them to
* This method reads a Java <code>char</code> value from an input stream.
* It operates by reading two bytes from the stream and converting them to
* a single 16-bit Java <code>char</code>. The two bytes are stored most
* significant byte first (i.e., "big endian") regardless of the native
* host byte ordering.
* host byte ordering.
* <p>
* As an example, if <code>byte1</code> and <code>byte2</code>
* represent the first and second byte read from the stream
* respectively, they will be transformed to a <code>char</code> in
* the following manner:
* the following manner:
* <p>
* <code>(char)(((byte1 &amp; 0xFF) &lt;&lt; 8) | (byte2 &amp; 0xFF)</code>
* <p>
* This method can read a <code>char</code> written by an object
* implementing the <code>writeChar()</code> method in the
* <code>DataOutput</code> interface.
* <code>DataOutput</code> interface.
*
* @return The <code>char</code> value read
* @return The <code>char</code> value read
*
* @exception EOFException If end of file is reached before reading the char
* @exception IOException If any other error occurs
@@ -192,7 +192,7 @@ public class DataInputStream extends FilterInputStream implements DataInput
* <code>readLong()</code> method in this interface, then converts
* that <code>long</code> to a <code>double</code> using the
* <code>longBitsToDouble</code> method in the class
* <code>java.lang.Double</code>
* <code>java.lang.Double</code>
* <p>
* This method can read a <code>double</code> written by an object
* implementing the <code>writeDouble()</code> method in the
@@ -229,7 +229,7 @@ public class DataInputStream extends FilterInputStream implements DataInput
* @exception EOFException If end of file is reached before reading the float
* @exception IOException If any other error occurs
*
* @see DataOutput#writeFloat
* @see DataOutput#writeFloat
* @see java.lang.Float#intBitsToFloat
*/
public final float readFloat () throws IOException
@@ -279,15 +279,15 @@ public class DataInputStream extends FilterInputStream implements DataInput
{
if (len < 0)
throw new IndexOutOfBoundsException("Negative length: " + len);
while (len > 0)
{
// in.read will block until some data is available.
int numread = in.read (buf, offset, len);
if (numread < 0)
throw new EOFException ();
len -= numread;
offset += numread;
// in.read will block until some data is available.
int numread = in.read (buf, offset, len);
if (numread < 0)
throw new EOFException ();
len -= numread;
offset += numread;
}
}
@@ -357,11 +357,11 @@ public class DataInputStream extends FilterInputStream implements DataInput
while (true)
{
int c = in.read();
if (c == -1) // got an EOF
return strb.length() > 0 ? strb.toString() : null;
if (c == '\r')
{
int next_c = in.read();
if (c == -1) // got an EOF
return strb.length() > 0 ? strb.toString() : null;
if (c == '\r')
{
int next_c = in.read();
if (next_c != '\n' && next_c != -1)
{
if (!(in instanceof PushbackInputStream))
@@ -369,10 +369,10 @@ public class DataInputStream extends FilterInputStream implements DataInput
((PushbackInputStream) in).unread(next_c);
}
break;
}
}
if (c == '\n')
break;
strb.append((char) c);
strb.append((char) c);
}
return strb.length() > 0 ? strb.toString() : "";
@@ -447,7 +447,7 @@ public class DataInputStream extends FilterInputStream implements DataInput
readFully (buf, 0, 2);
return convertToShort (buf);
}
/**
* This method reads 8 unsigned bits into a Java <code>int</code>
* value from the stream. The value returned is in the range of 0 to
@@ -471,10 +471,10 @@ public class DataInputStream extends FilterInputStream implements DataInput
/**
* This method reads 16 unsigned bits into a Java int value from the stream.
* It operates by reading two bytes from the stream and converting them to
* It operates by reading two bytes from the stream and converting them to
* a single Java <code>int</code> The two bytes are stored most
* significant byte first (i.e., "big endian") regardless of the native
* host byte ordering.
* host byte ordering.
* <p>
* As an example, if <code>byte1</code> and <code>byte2</code>
* represent the first and second byte read from the stream
@@ -523,10 +523,10 @@ public class DataInputStream extends FilterInputStream implements DataInput
* <p>
* <code>(char)byte1</code>
* <p>
* If the first byte has 110 as its high order bits, then the
* If the first byte has 110 as its high order bits, then the
* character consists of two bytes. The bits that make up the character
* value are in positions 0 through 4 of the first byte and bit positions
* 0 through 5 of the second byte. (The second byte should have
* 0 through 5 of the second byte. (The second byte should have
* 10 as its high order bits). These values are in most significant
* byte first (i.e., "big endian") order.
* <p>
@@ -551,7 +551,7 @@ public class DataInputStream extends FilterInputStream implements DataInput
* character encoding, then they would be converted to a Java
* <code>char</code> like so:
* <p>
* <code>(char)(((byte1 & 0x0F) << 12) | ((byte2 & 0x3F) << 6) |
* <code>(char)(((byte1 & 0x0F) << 12) | ((byte2 & 0x3F) << 6) |
* (byte3 & 0x3F))</code>
* <p>
* Note that all characters are encoded in the method that requires
@@ -563,7 +563,7 @@ public class DataInputStream extends FilterInputStream implements DataInput
* <p>
* This method can read data that was written by an object implementing the
* <code>writeUTF()</code> method in <code>DataOutput</code>
*
*
* @return The <code>String</code> read
*
* @exception EOFException If end of file is reached before reading
@@ -579,7 +579,7 @@ public class DataInputStream extends FilterInputStream implements DataInput
}
/**
* This method reads a String encoded in UTF-8 format from the
* This method reads a String encoded in UTF-8 format from the
* specified <code>DataInput</code> source.
*
* @param in The <code>DataInput</code> source to read from
@@ -593,7 +593,7 @@ public class DataInputStream extends FilterInputStream implements DataInput
public static final String readUTF(DataInput in) throws IOException
{
final int UTFlen = in.readUnsignedShort ();
return readUTF(in, UTFlen);
}
@@ -601,7 +601,7 @@ public class DataInputStream extends FilterInputStream implements DataInput
* This method is similar to <code>readUTF</code>, but the
* UTF-8 byte length is in 64 bits.
* This method is not public. It is used by <code>ObjectInputStream</code>.
*
*
* @return The <code>String</code> read
*
* @exception EOFException If end of file is reached before reading
@@ -648,25 +648,25 @@ public class DataInputStream extends FilterInputStream implements DataInput
}
/**
* This method attempts to skip and discard the specified number of bytes
* in the input stream. It may actually skip fewer bytes than requested.
* This method will not skip any bytes if passed a negative number of bytes
* to skip.
* This method attempts to skip and discard the specified number of bytes
* in the input stream. It may actually skip fewer bytes than requested.
* This method will not skip any bytes if passed a negative number of bytes
* to skip.
*
* @param n The requested number of bytes to skip.
*
* @return The requested number of bytes to skip.
*
* @exception IOException If an error occurs.
* @specnote The JDK docs claim that this returns the number of bytes
* actually skipped. The JCL claims that this method can throw an
* @specnote The JDK docs claim that this returns the number of bytes
* actually skipped. The JCL claims that this method can throw an
* EOFException. Neither of these appear to be true in the JDK 1.3's
* implementation. This tries to implement the actual JDK behaviour.
*/
public final int skipBytes (int n) throws IOException
{
if (n <= 0)
return 0;
return 0;
try
{
return (int) in.skip (n);
@@ -674,15 +674,15 @@ public class DataInputStream extends FilterInputStream implements DataInput
catch (EOFException x)
{
// do nothing.
}
}
return n;
}
static boolean convertToBoolean (int b) throws EOFException
{
if (b < 0)
throw new EOFException ();
return (b != 0);
}
@@ -690,7 +690,7 @@ public class DataInputStream extends FilterInputStream implements DataInput
{
if (i < 0)
throw new EOFException ();
return (byte) i;
}
@@ -698,86 +698,86 @@ public class DataInputStream extends FilterInputStream implements DataInput
{
if (i < 0)
throw new EOFException ();
return (i & 0xFF);
}
static char convertToChar (byte[] buf)
{
return (char) ((buf [0] << 8)
| (buf [1] & 0xff));
}
| (buf [1] & 0xff));
}
static short convertToShort (byte[] buf)
{
return (short) ((buf [0] << 8)
| (buf [1] & 0xff));
}
| (buf [1] & 0xff));
}
static int convertToUnsignedShort (byte[] buf)
{
return (((buf [0] & 0xff) << 8)
| (buf [1] & 0xff));
| (buf [1] & 0xff));
}
static int convertToInt (byte[] buf)
{
return (((buf [0] & 0xff) << 24)
| ((buf [1] & 0xff) << 16)
| ((buf [2] & 0xff) << 8)
| (buf [3] & 0xff));
| ((buf [1] & 0xff) << 16)
| ((buf [2] & 0xff) << 8)
| (buf [3] & 0xff));
}
static long convertToLong (byte[] buf)
{
return (((long)(buf [0] & 0xff) << 56) |
((long)(buf [1] & 0xff) << 48) |
((long)(buf [2] & 0xff) << 40) |
((long)(buf [3] & 0xff) << 32) |
((long)(buf [4] & 0xff) << 24) |
((long)(buf [5] & 0xff) << 16) |
((long)(buf [6] & 0xff) << 8) |
((long)(buf [7] & 0xff)));
((long)(buf [1] & 0xff) << 48) |
((long)(buf [2] & 0xff) << 40) |
((long)(buf [3] & 0xff) << 32) |
((long)(buf [4] & 0xff) << 24) |
((long)(buf [5] & 0xff) << 16) |
((long)(buf [6] & 0xff) << 8) |
((long)(buf [7] & 0xff)));
}
// FIXME: This method should be re-thought. I suspect we have multiple
// UTF-8 decoders floating around. We should use the standard charset
// converters, maybe and adding a direct call into one of the new
// NIO converters for a super-fast UTF8 decode.
static String convertFromUTF (byte[] buf)
static String convertFromUTF (byte[] buf)
throws EOFException, UTFDataFormatException
{
// Give StringBuffer an initial estimated size to avoid
// Give StringBuffer an initial estimated size to avoid
// enlarge buffer frequently
CPStringBuilder strbuf = new CPStringBuilder (buf.length / 2 + 2);
for (int i = 0; i < buf.length; )
{
if ((buf [i] & 0x80) == 0) // bit pattern 0xxxxxxx
strbuf.append ((char) (buf [i++] & 0xFF));
else if ((buf [i] & 0xE0) == 0xC0) // bit pattern 110xxxxx
{
if (i + 1 >= buf.length
|| (buf [i + 1] & 0xC0) != 0x80)
throw new UTFDataFormatException ();
if ((buf [i] & 0x80) == 0) // bit pattern 0xxxxxxx
strbuf.append ((char) (buf [i++] & 0xFF));
else if ((buf [i] & 0xE0) == 0xC0) // bit pattern 110xxxxx
{
if (i + 1 >= buf.length
|| (buf [i + 1] & 0xC0) != 0x80)
throw new UTFDataFormatException ();
strbuf.append((char) (((buf [i++] & 0x1F) << 6)
| (buf [i++] & 0x3F)));
}
else if ((buf [i] & 0xF0) == 0xE0) // bit pattern 1110xxxx
{
if (i + 2 >= buf.length
|| (buf [i + 1] & 0xC0) != 0x80
|| (buf [i + 2] & 0xC0) != 0x80)
throw new UTFDataFormatException ();
strbuf.append((char) (((buf [i++] & 0x1F) << 6)
| (buf [i++] & 0x3F)));
}
else if ((buf [i] & 0xF0) == 0xE0) // bit pattern 1110xxxx
{
if (i + 2 >= buf.length
|| (buf [i + 1] & 0xC0) != 0x80
|| (buf [i + 2] & 0xC0) != 0x80)
throw new UTFDataFormatException ();
strbuf.append ((char) (((buf [i++] & 0x0F) << 12)
| ((buf [i++] & 0x3F) << 6)
| (buf [i++] & 0x3F)));
}
else // must be ((buf [i] & 0xF0) == 0xF0 || (buf [i] & 0xC0) == 0x80)
throw new UTFDataFormatException (); // bit patterns 1111xxxx or
// 10xxxxxx
strbuf.append ((char) (((buf [i++] & 0x0F) << 12)
| ((buf [i++] & 0x3F) << 6)
| (buf [i++] & 0x3F)));
}
else // must be ((buf [i] & 0xF0) == 0xF0 || (buf [i] & 0xC0) == 0x80)
throw new UTFDataFormatException (); // bit patterns 1111xxxx or
// 10xxxxxx
}
return strbuf.toString ();
+14 -15
View File
@@ -7,7 +7,7 @@ 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
@@ -44,9 +44,9 @@ package java.io;
*/
/**
* This interface is implemented by classes that can wrte data to streams
* This interface is implemented by classes that can wrte data to streams
* from Java primitive types. This data can subsequently be read back
* by classes implementing the <code>DataInput</code> interface.
* by classes implementing the <code>DataInput</code> interface.
*
* @author Aaron M. Renn (arenn@urbanophile.com)
* @author Tom Tromey (tromey@cygnus.com)
@@ -58,7 +58,7 @@ public interface DataOutput
/**
* This method writes a Java boolean value to an output stream. If
* <code>value</code> is <code>true</code>, a byte with the value of
* 1 will be written, otherwise a byte with the value of 0 will be
* 1 will be written, otherwise a byte with the value of 0 will be
* written.
*
* The value written can be read using the <code>readBoolean</code>
@@ -74,7 +74,7 @@ public interface DataOutput
/**
* This method writes a Java byte value to an output stream. The
* byte to be written will be in the lowest 8 bits of the
* byte to be written will be in the lowest 8 bits of the
* <code>int</code> value passed.
*
* The value written can be read using the <code>readByte</code> or
@@ -236,10 +236,10 @@ public interface DataOutput
void writeBytes(String value) throws IOException;
/**
* This method writes all the characters of a <code>String</code> to an
* This method writes all the characters of a <code>String</code> to an
* output stream as an array of <code>char</code>'s. Each character
* is written using the method specified in the <code>writeChar</code>
* method.
* method.
*
* @param value The String to write
*
@@ -253,13 +253,13 @@ public interface DataOutput
* This method writes a Java <code>String</code> to the stream in a modified
* UTF-8 format. First, two bytes are written to the stream indicating the
* number of bytes to follow. This is written in the form of a Java
* <code>short</code> value in the same manner used by the
* <code>writeShort</code> method. Note that this is the number of
* <code>short</code> value in the same manner used by the
* <code>writeShort</code> method. Note that this is the number of
* bytes in the
* encoded <code>String</code> not the <code>String</code> length. Next
* come the encoded characters. Each character in the <code>String</code>
* is encoded as either one, two or three bytes. For characters in the
* range of <code>\u0001</code> to <code>\u007F</code>, one byte is used.
* range of <code>\u0001</code> to <code>\u007F</code>, one byte is used.
* The character
* value goes into bits 0-7 and bit eight is 0. For characters in the range
* of <code>\u0080</code> to <code>\u007FF</code>, two bytes are used. Bits
@@ -308,14 +308,14 @@ public interface DataOutput
void write(byte[] buf) throws IOException;
/**
* This method writes raw bytes from the passed array <code>buf</code>
* This method writes raw bytes from the passed array <code>buf</code>
* starting
* <code>offset</code> bytes into the buffer. The number of bytes
* written will be exactly <code>len</code>.
* <code>offset</code> bytes into the buffer. The number of bytes
* written will be exactly <code>len</code>.
*
* @param buf The buffer from which to write the data
* @param offset The offset into the buffer to start writing data from
* @param len The number of bytes to write from the buffer to the output
* @param len The number of bytes to write from the buffer to the output
* stream
*
* @exception IOException If any other error occurs
@@ -323,4 +323,3 @@ public interface DataOutput
void write(byte[] buf, int offset, int len) throws IOException;
} // interface DataOutput
+36 -37
View File
@@ -7,7 +7,7 @@ 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
@@ -66,12 +66,12 @@ public class DataOutputStream extends FilterOutputStream implements DataOutput
* Utf8 byte buffer, used by writeUTF()
*/
private byte[] buf;
/**
* This method initializes an instance of <code>DataOutputStream</code> to
* write its data to the specified underlying <code>OutputStream</code>
*
* @param out The subordinate <code>OutputStream</code> to which this
* @param out The subordinate <code>OutputStream</code> to which this
* object will write
*/
public DataOutputStream (OutputStream out)
@@ -127,7 +127,7 @@ public class DataOutputStream extends FilterOutputStream implements DataOutput
*
* @exception IOException If an error occurs.
*/
public synchronized void write (byte[] buf, int offset, int len)
public synchronized void write (byte[] buf, int offset, int len)
throws IOException
{
out.write(buf, offset, len);
@@ -162,7 +162,7 @@ public class DataOutputStream extends FilterOutputStream implements DataOutput
* The value written can be read using the <code>readByte</code> or
* <code>readUnsignedByte</code> methods in <code>DataInput</code>.
*
* @param value The <code>byte</code> to write to the stream, passed as
* @param value The <code>byte</code> to write to the stream, passed as
* the low eight bits of an <code>int</code>.
*
* @exception IOException If an error occurs
@@ -215,7 +215,7 @@ public class DataOutputStream extends FilterOutputStream implements DataOutput
* The value written can be read using the <code>readChar</code>
* method in <code>DataInput</code>.
*
* @param value The <code>char</code> value to write,
* @param value The <code>char</code> value to write,
* passed as an <code>int</code>.
*
* @exception IOException If an error occurs
@@ -394,18 +394,18 @@ public class DataOutputStream extends FilterOutputStream implements DataOutput
for (int i = start; i < len; ++i)
{
char c = value.charAt(i);
if (c >= '\u0001' && c <= '\u007f')
sum += 1;
else if (c == '\u0000' || (c >= '\u0080' && c <= '\u07ff'))
sum += 2;
else
sum += 3;
char c = value.charAt(i);
if (c >= '\u0001' && c <= '\u007f')
sum += 1;
else if (c == '\u0000' || (c >= '\u0080' && c <= '\u07ff'))
sum += 2;
else
sum += 3;
}
return sum;
}
/**
* This method writes a Java <code>String</code> to the stream in a modified
* UTF-8 format. First, two bytes are written to the stream indicating the
@@ -507,34 +507,33 @@ public class DataOutputStream extends FilterOutputStream implements DataOutput
if (buf == null)
buf = new byte[512];
do
{
while (i < len && pos < buf.length - 3)
{
char c = value.charAt(i++);
if (c >= '\u0001' && c <= '\u007f')
while (i < len && pos < buf.length - 3)
{
char c = value.charAt(i++);
if (c >= '\u0001' && c <= '\u007f')
buf[pos++] = (byte) c;
else if (c == '\u0000' || (c >= '\u0080' && c <= '\u07ff'))
{
buf[pos++] = (byte) (0xc0 | (0x1f & (c >> 6)));
buf[pos++] = (byte) (0x80 | (0x3f & c));
}
else
{
// JSL says the first byte should be or'd with 0xc0, but
// that is a typo. Unicode says 0xe0, and that is what is
// consistent with DataInputStream.
buf[pos++] = (byte) (0xe0 | (0x0f & (c >> 12)));
buf[pos++] = (byte) (0x80 | (0x3f & (c >> 6)));
buf[pos++] = (byte) (0x80 | (0x3f & c));
}
}
write(buf, 0, pos);
pos = 0;
else if (c == '\u0000' || (c >= '\u0080' && c <= '\u07ff'))
{
buf[pos++] = (byte) (0xc0 | (0x1f & (c >> 6)));
buf[pos++] = (byte) (0x80 | (0x3f & c));
}
else
{
// JSL says the first byte should be or'd with 0xc0, but
// that is a typo. Unicode says 0xe0, and that is what is
// consistent with DataInputStream.
buf[pos++] = (byte) (0xe0 | (0x0f & (c >> 12)));
buf[pos++] = (byte) (0x80 | (0x3f & (c >> 6)));
buf[pos++] = (byte) (0x80 | (0x3f & c));
}
}
write(buf, 0, pos);
pos = 0;
}
while (i < len);
}
} // class DataOutputStream
+13 -13
View File
@@ -7,7 +7,7 @@ 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
@@ -56,7 +56,7 @@ final class DeleteFileHelper extends Thread
if (filesToDelete == null)
{
filesToDelete = new ArrayList<File>();
AccessController.doPrivileged(new PrivilegedAction()
{
public Object run()
@@ -70,12 +70,12 @@ final class DeleteFileHelper extends Thread
// Shutdown is already in progress, so we can't
// register ours.
}
return null;
}
});
}
filesToDelete.add(file);
}
@@ -83,14 +83,14 @@ final class DeleteFileHelper extends Thread
{
for (File file : filesToDelete)
{
try
{
file.delete();
}
catch (Exception e)
{
// Do nothing here.
}
try
{
file.delete();
}
catch (Exception e)
{
// Do nothing here.
}
}
}
@@ -98,7 +98,7 @@ final class DeleteFileHelper extends Thread
DeleteFileHelper()
{
}
public void run()
{
deleteFiles();
+1 -1
View File
@@ -39,7 +39,7 @@ exception statement from your version. */
package java.io;
/**
* This exception is thrown when the end of the file or stream was
* This exception is thrown when the end of the file or stream was
* encountered unexpectedly. This is not the normal way that an EOF
* condition is reported; such as a special value like -1 being returned.
* However, certain types of streams expecting certain data in a certain
+15 -15
View File
@@ -7,7 +7,7 @@ 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
@@ -40,20 +40,20 @@ package java.io;
/**
* This interface provides a way that classes can completely control how
* the data of their object instances are written and read to and from
* streams. It has two methods which are used to write the data to a stream
* and to read the data from a stream. The read method must read the data
* in exactly the way it was written by the write method.
* the data of their object instances are written and read to and from
* streams. It has two methods which are used to write the data to a stream
* and to read the data from a stream. The read method must read the data
* in exactly the way it was written by the write method.
* <p>
* Note that classes which implement this interface must take into account
* that all superclass data must also be written to the stream as well.
* that all superclass data must also be written to the stream as well.
* The class implementing this interface must figure out how to make that
* happen.
* <p>
* This interface can be used to provide object persistence. When an
* This interface can be used to provide object persistence. When an
* object is to be stored externally, the <code>writeExternal</code> method is
* called to save state. When the object is restored, an instance is
* created using the default no-argument constructor and the
* created using the default no-argument constructor and the
* <code>readExternal</code> method is used to restore the state.
*
* @author Aaron M. Renn (arenn@urbanophile.com)
@@ -63,9 +63,9 @@ public interface Externalizable extends Serializable
/**
* This method restores an object's state by reading in the instance data
* for the object from the passed in stream. Note that this stream is not
* a subclass of <code>InputStream</code>, but rather is a class that
* a subclass of <code>InputStream</code>, but rather is a class that
* implements
* the <code>ObjectInput</code> interface. That interface provides a
* the <code>ObjectInput</code> interface. That interface provides a
* mechanism for
* reading in Java data types from a stream.
* <p>
@@ -77,28 +77,28 @@ public interface Externalizable extends Serializable
* for that object must be found and loaded. If that operation fails,
* then this method throws a <code>ClassNotFoundException</code>
*
* @param in An <code>ObjectInput</code> instance for reading in the object
* @param in An <code>ObjectInput</code> instance for reading in the object
* state
*
* @exception ClassNotFoundException If the class of an object being
* @exception ClassNotFoundException If the class of an object being
* restored cannot be found
* @exception IOException If any other error occurs
*/
void readExternal(ObjectInput in)
void readExternal(ObjectInput in)
throws ClassNotFoundException, IOException;
/**
* This method is responsible for writing the instance data of an object
* to the passed in stream. Note that this stream is not a subclass of
* <code>OutputStream</code>, but rather is a class that implements the
* <code>ObjectOutput</code> interface. That interface provides a
* <code>ObjectOutput</code> interface. That interface provides a
* number of methods
* for writing Java data values to a stream.
* <p>
* Not that the implementation of this method must be coordinated with
* the implementation of <code>readExternal</code>.
*
* @param out An <code>ObjectOutput</code> instance for writing the
* @param out An <code>ObjectOutput</code> instance for writing the
* object state
*
* @exception IOException If an error occurs
File diff suppressed because it is too large Load Diff
+16 -16
View File
@@ -8,7 +8,7 @@ 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
@@ -51,7 +51,7 @@ import java.nio.channels.FileChannel;
*
* @author Aaron M. Renn (arenn@urbanophile.com)
* @author Tom Tromey (tromey@cygnus.com)
* @date September 24, 1998
* @date September 24, 1998
*/
public final class FileDescriptor
{
@@ -100,7 +100,7 @@ public final class FileDescriptor
/**
* This method forces all data that has not yet been physically written to
* the underlying storage medium associated with this
* the underlying storage medium associated with this
* <code>FileDescriptor</code>
* to be written out. This method will not return until all data has
* been fully written to the underlying device. If the device does not
@@ -111,17 +111,17 @@ public final class FileDescriptor
{
if (channel instanceof FileChannel)
{
try
{
((FileChannel) channel).force(true);
}
catch (IOException ex)
{
if (ex instanceof SyncFailedException)
throw (SyncFailedException) ex;
else
throw new SyncFailedException(ex.toString());
}
try
{
((FileChannel) channel).force(true);
}
catch (IOException ex)
{
if (ex instanceof SyncFailedException)
throw (SyncFailedException) ex;
else
throw new SyncFailedException(ex.toString());
}
}
}
@@ -129,11 +129,11 @@ public final class FileDescriptor
* This methods tests whether or not this object represents a valid open
* native file handle.
*
* @return <code>true</code> if this object represents a valid
* @return <code>true</code> if this object represents a valid
* native file handle, <code>false</code> otherwise
*/
public boolean valid ()
{
{
ByteChannel c = channel;
return (c != null) && (c.isOpen());
}
+4 -4
View File
@@ -7,7 +7,7 @@ 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
@@ -40,14 +40,14 @@ package java.io;
/**
* This interface has one method which is used for filtering pathnames
* returned in a pathname listing. It is currently used by the
* returned in a pathname listing. It is currently used by the
* <code>File.listFiles(FileFilter)</code> method.
* <p>
* The method in this interface determines if a particular pathname should
* or should not be included in the pathname listing.
*
* @author Aaron M. Renn (arenn@urbanophile.com)
*
*
* @see File#listFiles(java.io.FileFilter)
*/
public interface FileFilter
@@ -58,7 +58,7 @@ public interface FileFilter
*
* @param pathname The pathname to test
*
* @return <code>true</code> if the path should be included in the list,
* @return <code>true</code> if the path should be included in the list,
* <code>false</code> otherwise.
*/
boolean accept(File pathname);
+15 -16
View File
@@ -7,7 +7,7 @@ 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
@@ -48,9 +48,9 @@ import java.nio.channels.FileChannel;
* plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
* Status: Believed complete and correct.
*/
/**
* This class is a stream that reads its bytes from a file.
* This class is a stream that reads its bytes from a file.
*
* @author Aaron M. Renn (arenn@urbanophile.com)
* @author Warren Levy (warrenl@cygnus.com)
@@ -68,7 +68,7 @@ public class FileInputStream extends InputStream
* This method initializes a <code>FileInputStream</code> to read from the
* specified named file. A security check is first made to determine
* whether or not access to this file is allowed. This is done by
* calling the <code>checkRead()</code> method of the
* calling the <code>checkRead()</code> method of the
* <code>SecurityManager</code>
* (if one exists) with the name of this file. An exception is thrown
* if reading is not allowed. If the file does not exist, an exception
@@ -77,7 +77,7 @@ public class FileInputStream extends InputStream
* @param name The name of the file this stream should read from
*
* @exception SecurityException If read access to the file is not allowed
* @exception FileNotFoundException If the file does not exist
* @exception FileNotFoundException If the file does not exist
* or if it is a directory
*/
public FileInputStream(String name) throws FileNotFoundException
@@ -129,13 +129,13 @@ public class FileInputStream extends InputStream
* specified <code>FileDescriptor</code> object. A security
* check is first made to
* determine whether or not access to this file is allowed. This is done by
* calling the <code>checkRead()</code> method of the
* calling the <code>checkRead()</code> method of the
* <code>SecurityManager</code>
* (if one exists) with the specified <code>FileDescriptor</code>
* An exception is
* (if one exists) with the specified <code>FileDescriptor</code>
* An exception is
* thrown if reading is not allowed.
*
* @param fdObj The <code>FileDescriptor</code> object this stream
* @param fdObj The <code>FileDescriptor</code> object this stream
* should read from
*
* @exception SecurityException If read access to the file is not allowed
@@ -210,9 +210,9 @@ public class FileInputStream extends InputStream
{
synchronized (this)
{
if (fd == null)
fd = new FileDescriptor (ch);
return fd;
if (fd == null)
fd = new FileDescriptor (ch);
return fd;
}
}
@@ -256,7 +256,7 @@ public class FileInputStream extends InputStream
/**
* This method read bytes from a stream and stores them into a caller
* supplied buffer. It starts storing the data at index
* supplied buffer. It starts storing the data at index
* <code>offset</code> into
* the buffer and attempts to read <code>len</code> bytes. This method can
* return before reading the number of bytes requested. The actual number
@@ -297,7 +297,7 @@ public class FileInputStream extends InputStream
public synchronized long skip (long numBytes) throws IOException
{
if (numBytes < 0)
throw new IllegalArgumentException ("Can't skip negative bytes: " +
throw new IllegalArgumentException ("Can't skip negative bytes: " +
numBytes);
if (numBytes == 0)
@@ -314,10 +314,9 @@ public class FileInputStream extends InputStream
* A file channel must be created by first creating an instance of
* Input/Output/RandomAccessFile and invoking the getChannel() method on it.
*/
public synchronized FileChannel getChannel ()
public synchronized FileChannel getChannel ()
{
return ch;
}
} // class FileInputStream
+18 -19
View File
@@ -7,7 +7,7 @@ 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
@@ -71,7 +71,7 @@ public class FileOutputStream extends OutputStream
* Before opening a file, a security check is performed by calling the
* <code>checkWrite</code> method of the <code>SecurityManager</code> (if
* one exists) with the name of the file to be opened. An exception is
* thrown if writing is not allowed.
* thrown if writing is not allowed.
*
* @param path The name of the file this stream should write to
* @param append <code>true</code> to append bytes to the end of the file,
@@ -94,7 +94,7 @@ public class FileOutputStream extends OutputStream
* Before opening a file, a security check is performed by calling the
* <code>checkWrite</code> method of the <code>SecurityManager</code> (if
* one exists) with the name of the file to be opened. An exception is
* thrown if writing is not allowed.
* thrown if writing is not allowed.
*
* @param path The name of the file this stream should write to
*
@@ -109,14 +109,14 @@ public class FileOutputStream extends OutputStream
/**
* This method initializes a <code>FileOutputStream</code> object to write
* to the specified <code>File</code> object. The file is created if it
* does not exist, and the bytes written are written starting at the
* to the specified <code>File</code> object. The file is created if it
* does not exist, and the bytes written are written starting at the
* beginning of the file.
* <p>
* Before opening a file, a security check is performed by calling the
* <code>checkWrite</code> method of the <code>SecurityManager</code> (if
* one exists) with the name of the file to be opened. An exception is
* thrown if writing is not allowed.
* thrown if writing is not allowed.
*
* @param file The <code>File</code> object this stream should write to
*
@@ -131,16 +131,16 @@ public class FileOutputStream extends OutputStream
/**
* This method initializes a <code>FileOutputStream</code> object to write
* to the specified <code>File</code> object. The file is created if it
* does not exist, and the bytes written are written starting at the
* beginning of the file if the <code>append</code> parameter is
* to the specified <code>File</code> object. The file is created if it
* does not exist, and the bytes written are written starting at the
* beginning of the file if the <code>append</code> parameter is
* <code>false</code>. Otherwise bytes are written at the end of the
* file.
* <p>
* Before opening a file, a security check is performed by calling the
* <code>checkWrite</code> method of the <code>SecurityManager</code> (if
* one exists) with the name of the file to be opened. An exception is
* thrown if writing is not allowed.
* thrown if writing is not allowed.
*
* @param file The <code>File</code> object this stream should write to
* @param append <code>true</code> to append bytes to the end of the file,
@@ -185,7 +185,7 @@ public class FileOutputStream extends OutputStream
* Before opening a file, a security check is performed by calling the
* <code>checkWrite</code> method of the <code>SecurityManager</code> (if
* one exists) with the specified <code>FileDescriptor</code> as an argument.
* An exception is thrown if writing is not allowed.
* An exception is thrown if writing is not allowed.
*
* @param fdObj The <code>FileDescriptor</code> this stream should write to
*
@@ -230,14 +230,14 @@ public class FileOutputStream extends OutputStream
{
synchronized (this)
{
if (fd == null)
fd = new FileDescriptor (ch);
return fd;
if (fd == null)
fd = new FileDescriptor (ch);
return fd;
}
}
/**
* This method writes a single byte of data to the file.
* This method writes a single byte of data to the file.
*
* @param b The byte of data to write, passed as an <code>int</code>
*
@@ -263,7 +263,7 @@ public class FileOutputStream extends OutputStream
}
/**
* This method writes <code>len</code> bytes from the byte array
* This method writes <code>len</code> bytes from the byte array
* <code>buf</code> to the file starting at index <code>offset</code>.
*
* @param buf The array of bytes to write to the file
@@ -279,7 +279,7 @@ public class FileOutputStream extends OutputStream
|| len < 0
|| offset + len > buf.length)
throw new ArrayIndexOutOfBoundsException ();
ch.write(ByteBuffer.wrap(buf, offset, len));
}
@@ -301,10 +301,9 @@ public class FileOutputStream extends OutputStream
* A file channel must be created by first creating an instance of
* Input/Output/RandomAccessFile and invoking the getChannel() method on it.
*/
public synchronized FileChannel getChannel()
public synchronized FileChannel getChannel()
{
return ch;
}
} // class FileOutputStream
+77 -77
View File
@@ -59,7 +59,7 @@ public final class FilePermission extends Permission implements Serializable
String action;
int i = actionsString.indexOf(',');
int startI = 0;
while (i != -1)
while (i != -1)
{
action = actionsString.substring(startI, i).trim().toLowerCase();
if (action.equals("read"))
@@ -70,9 +70,9 @@ public final class FilePermission extends Permission implements Serializable
executePerm = true;
else if (action.equals("delete"))
deletePerm = true;
else
throw new IllegalArgumentException("Unknown action: " + action);
else
throw new IllegalArgumentException("Unknown action: " + action);
startI = i + 1;
i = actionsString.indexOf(',', startI);
}
@@ -99,7 +99,7 @@ public final class FilePermission extends Permission implements Serializable
* permission represents. The actions must be "read", "write",
* "execute" and/or "delete".
*/
public FilePermission(String pathExpression, String actionsString)
public FilePermission(String pathExpression, String actionsString)
{
// FIXME: what to do when the file string is malformed?
super(pathExpression);
@@ -110,26 +110,26 @@ public final class FilePermission extends Permission implements Serializable
this.actionsString = actionsString;
checkPerms();
}
/**
* Get the actions this FilePermission supports.
* @return the String representing the actions this FilePermission supports.
*/
public String getActions()
public String getActions()
{
return actionsString;
}
/**
* Get the hash code for this Object.<P>
* FilePermission's hash code is calculated as the exclusive or of the
* FilePermission's hash code is calculated as the exclusive or of the
* target
* String's hash code and the action String's hash code.
* @specnote Sun did not specify how to calculate the hash code;
* @specnote Sun did not specify how to calculate the hash code;
* I made this up.
* @return the hash code for this Object.
*/
public int hashCode()
public int hashCode()
{
return getName().hashCode() ^ actionsString.hashCode();
}
@@ -141,7 +141,7 @@ public final class FilePermission extends Permission implements Serializable
* @param o the Object to compare to.
* @return whether the Objects are semantically equivalent.
*/
public boolean equals(Object o)
public boolean equals(Object o)
{
if (! (o instanceof FilePermission))
return false;
@@ -152,38 +152,38 @@ public final class FilePermission extends Permission implements Serializable
// Compare names, taking into account if they refer to a directory
// and one has a separator and the other does not.
if (f1.length() > 0 && f1.charAt(f1.length() - 1) == File.separatorChar)
if (f1.length() > 0 && f1.charAt(f1.length() - 1) == File.separatorChar)
{
if (f2.length() > 0
&& f2.charAt(f2.length() - 1) == File.separatorChar)
&& f2.charAt(f2.length() - 1) == File.separatorChar)
{
if (! f2.equals(f1))
return false;
if (! f2.equals(f1))
return false;
}
else
{
if (! f2.equals(f1.substring(0, f1.length() - 1)))
return false;
if (! f2.equals(f1.substring(0, f1.length() - 1)))
return false;
}
}
else
{
if (f2.length() > 0
&& f2.charAt(f2.length() - 1) == File.separatorChar)
&& f2.charAt(f2.length() - 1) == File.separatorChar)
{
if (! f1.equals(f2.substring(0, f2.length() - 1)))
return false;
if (! f1.equals(f2.substring(0, f2.length() - 1)))
return false;
}
else
{
if (! f1.equals(f2))
return false;
if (! f1.equals(f2))
return false;
}
}
return (readPerm == p.readPerm
&& writePerm == p.writePerm
&& executePerm == p.executePerm
&& deletePerm == p.deletePerm);
&& writePerm == p.writePerm
&& executePerm == p.executePerm
&& deletePerm == p.deletePerm);
}
/**
@@ -191,14 +191,14 @@ public final class FilePermission extends Permission implements Serializable
* Permission A implies permission B if these things are all true:
* <OL>
* <LI>A and B are both FilePermissions.</LI>
* <LI>All possible files in B are included in A
* <LI>All possible files in B are included in A
* (possibly more are in A).</LI>
* <LI>All actions B supports, A also supports.</LI>
* </OL>
* @param p the Permission to compare against.
* @return whether this Permission implies p
*/
public boolean implies(Permission p)
public boolean implies(Permission p)
{
if (! (p instanceof FilePermission))
return false;
@@ -207,7 +207,7 @@ public final class FilePermission extends Permission implements Serializable
if (f1.equals(ALL_FILES))
return true;
FilePermission fp = (FilePermission) p;
String f2 = fp.getName();
@@ -216,12 +216,12 @@ public final class FilePermission extends Permission implements Serializable
try
{
f1 = new File(f1).getCanonicalPath();
f2 = new File(f2).getCanonicalPath();
f1 = new File(f1).getCanonicalPath();
f2 = new File(f2).getCanonicalPath();
}
catch (IOException ioe)
{
return false;
return false;
}
String sub1;
@@ -229,54 +229,54 @@ public final class FilePermission extends Permission implements Serializable
switch (f1.charAt(f1.length() - 1))
{
case '*':
sub1 = f1.substring(0, f1.length() - 1); // chop off "*"
if (f2.length() <= sub1.length())
{
// If it's smaller, there is no way it could be part of
// this directory. If it's the same (or length - 1), it
// could be the same directory but specifies access to
// the directory rather than the files in it.
return false;
}
else if (f2.charAt(sub1.length() - 1) == File.separatorChar)
{
// Make sure the part before the "/" is the same.
if (! f2.substring(0, sub1.length()).equals(sub1))
return false;
// Make sure there are no subdirectories specified
// underneath this one.
if (f2.substring(sub1.length() + 1).indexOf(File.separatorChar)
!= -1)
return false;
}
else
{
// Obviously not equal: f2 is either not a directory or
// is not the same directory (its name continues further
// than we want).
return false;
}
break;
sub1 = f1.substring(0, f1.length() - 1); // chop off "*"
if (f2.length() <= sub1.length())
{
// If it's smaller, there is no way it could be part of
// this directory. If it's the same (or length - 1), it
// could be the same directory but specifies access to
// the directory rather than the files in it.
return false;
}
else if (f2.charAt(sub1.length() - 1) == File.separatorChar)
{
// Make sure the part before the "/" is the same.
if (! f2.substring(0, sub1.length()).equals(sub1))
return false;
// Make sure there are no subdirectories specified
// underneath this one.
if (f2.substring(sub1.length() + 1).indexOf(File.separatorChar)
!= -1)
return false;
}
else
{
// Obviously not equal: f2 is either not a directory or
// is not the same directory (its name continues further
// than we want).
return false;
}
break;
case '-':
// Chop off "/-".
sub1 = f1.substring(0, f1.length() - 2);
if (f2.length() < sub1.length())
{
// If it's smaller, there is no way it could be part of
// this directory.
return false;
}
else if (f2.length() > sub1.length()
&& f2.charAt(sub1.length()) != File.separatorChar)
return false;
else if (! f2.substring(0, sub1.length()).equals(sub1))
return false;
break;
// Chop off "/-".
sub1 = f1.substring(0, f1.length() - 2);
if (f2.length() < sub1.length())
{
// If it's smaller, there is no way it could be part of
// this directory.
return false;
}
else if (f2.length() > sub1.length()
&& f2.charAt(sub1.length()) != File.separatorChar)
return false;
else if (! f2.substring(0, sub1.length()).equals(sub1))
return false;
break;
default:
if (!f1.equals(f2))
return false;
break;
if (!f1.equals(f2))
return false;
break;
}
if (fp.readPerm && ! readPerm)
@@ -287,7 +287,7 @@ public final class FilePermission extends Permission implements Serializable
return false;
if (fp.deletePerm && ! deletePerm)
return false;
return true;
}
}
+4 -5
View File
@@ -7,7 +7,7 @@ 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
@@ -41,7 +41,7 @@ package java.io;
/**
* This class provides a convenient way to set up a <code>Reader</code>
* to read from a file. It opens the specified file for reading and creates
* the <code>InputStreamReader</code> to read from the
* the <code>InputStreamReader</code> to read from the
* resulting <code>FileInputStream</code>. This class can only be used
* to read from files using the default character encoding. Use
* <code>InputStreamReader</code> directly to use a non-default encoding.
@@ -56,7 +56,7 @@ public class FileReader extends InputStreamReader
*
* @param file The <code>File</code> object representing the file to read from
*
* @exception FileNotFoundException If the file is not found or some other
* @exception FileNotFoundException If the file is not found or some other
* error occurs
*/
public FileReader(File file) throws FileNotFoundException
@@ -81,7 +81,7 @@ public class FileReader extends InputStreamReader
*
* @param name The name of the file to read from
*
* @exception FileNotFoundException If the file is not found or some other
* @exception FileNotFoundException If the file is not found or some other
* error occurs
*/
public FileReader(String name) throws FileNotFoundException
@@ -89,4 +89,3 @@ public class FileReader extends InputStreamReader
super(new FileInputStream(name));
}
} // class FileReader
+4 -4
View File
@@ -7,7 +7,7 @@ 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
@@ -45,7 +45,7 @@ package java.io;
/**
* This is a convenience class for writing to files. It creates an
* <code>FileOutputStream</code> and initializes an
* <code>FileOutputStream</code> and initializes an
* <code>OutputStreamWriter</code> to write to it.
*
* @author Aaron M. Renn (arenn@urbanophile.com)
@@ -100,7 +100,7 @@ public class FileWriter extends OutputStreamWriter
}
/**
* This method intializes a new <code>FileWriter</code> object to
* This method intializes a new <code>FileWriter</code> object to
* write to the
* specified named file.
*
@@ -116,7 +116,7 @@ public class FileWriter extends OutputStreamWriter
}
/**
* This method intializes a new <code>FileWriter</code> object to
* This method intializes a new <code>FileWriter</code> object to
* write to the
* specified named file. This form of the constructor allows the caller
* to determine whether data should be written starting at the beginning or
@@ -7,7 +7,7 @@ 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
@@ -45,8 +45,8 @@ package java.io;
/**
* This interface has one method which is used for filtering filenames
* returned in a directory listing. It is currently used by the
* <code>File.list(FilenameFilter)</code> method and by the filename
* returned in a directory listing. It is currently used by the
* <code>File.list(FilenameFilter)</code> method and by the filename
* dialog in AWT.
* <p>
* The method in this interface determines if a particular file should
@@ -73,4 +73,3 @@ public interface FilenameFilter
boolean accept(File dir, String name);
} // interface FilenameFilter
@@ -7,7 +7,7 @@ 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
@@ -45,7 +45,7 @@ package java.io;
*/
/**
* This is the common superclass of all standard classes that filter
* This is the common superclass of all standard classes that filter
* input. It acts as a layer on top of an underlying <code>InputStream</code>
* and simply redirects calls made to it to the subordinate InputStream
* instead. Subclasses of this class perform additional filtering
@@ -60,7 +60,7 @@ package java.io;
* When creating a subclass of <code>FilterInputStream</code>, override the
* appropriate methods to implement the desired filtering. However, note
* that the <code>read(byte[])</code> method does not need to be overridden
* as this class redirects calls to that method to
* as this class redirects calls to that method to
* <code>read(byte[], int, int)</code> instead of to the subordinate
* <code>InputStream read(byte[])</code> method.
*
@@ -132,7 +132,7 @@ public class FilterInputStream extends InputStream
/**
* Calls the <code>in.skip(long)</code> method
*
* @param numBytes The requested number of bytes to skip.
* @param numBytes The requested number of bytes to skip.
*
* @return The value returned from <code>in.skip(long)</code>
*
@@ -156,8 +156,8 @@ public class FilterInputStream extends InputStream
}
/**
* Calls the <code>read(byte[], int, int)</code> overloaded method.
* Note that
* Calls the <code>read(byte[], int, int)</code> overloaded method.
* Note that
* this method does not redirect its call directly to a corresponding
* method in <code>in</code>. This allows subclasses to override only the
* three argument version of <code>read</code>.
@@ -193,7 +193,7 @@ public class FilterInputStream extends InputStream
* This method closes the input stream by closing the input stream that
* this object is filtering. Future attempts to access this stream may
* throw an exception.
*
*
* @exception IOException If an error occurs
*/
public void close() throws IOException
@@ -7,7 +7,7 @@ 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
@@ -44,10 +44,10 @@ package java.io;
*/
/**
* This class is the common superclass of output stream classes that
* This class is the common superclass of output stream classes that
* filter the output they write. These classes typically transform the
* data in some way prior to writing it out to another underlying
* <code>OutputStream</code>. This class simply overrides all the
* <code>OutputStream</code>. This class simply overrides all the
* methods in <code>OutputStream</code> to redirect them to the
* underlying stream. Subclasses provide actual filtering.
*
@@ -141,10 +141,9 @@ public class FilterOutputStream extends OutputStream
public void write(byte[] buf, int offset, int len) throws IOException
{
// Don't do checking here, per Java Lang Spec.
for (int i=0; i < len; i++)
for (int i=0; i < len; i++)
write(buf[offset + i]);
}
} // class FilterOutputStream
+5 -6
View File
@@ -7,7 +7,7 @@ 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
@@ -45,7 +45,7 @@ package java.io;
*/
/**
* This is the common superclass of all standard classes that filter
* This is the common superclass of all standard classes that filter
* input. It acts as a layer on top of an underlying <code>Reader</code>
* and simply redirects calls made to it to the subordinate Reader
* instead. Subclasses of this class perform additional filtering
@@ -54,7 +54,7 @@ package java.io;
* When creating a subclass of <code>FilterReader</code>, override the
* appropriate methods to implement the desired filtering. However, note
* that the <code>read(char[])</code> method does not need to be overridden
* as this class redirects calls to that method to
* as this class redirects calls to that method to
* <code>read(yte[], int, int)</code> instead of to the subordinate
* <code>Reader} read(yte[])</code> method.
*
@@ -98,7 +98,7 @@ public abstract class FilterReader extends Reader
/**
* Calls the <code>in.markSupported()</code> method.
*
* @return <code>true</code> if mark/reset is supported,
* @return <code>true</code> if mark/reset is supported,
* <code>false</code> otherwise
*/
public boolean markSupported()
@@ -131,7 +131,7 @@ public abstract class FilterReader extends Reader
/**
* Calls the <code>in.skip(long)</code> method
*
* @param num_chars The requested number of chars to skip.
* @param num_chars The requested number of chars to skip.
*
* @return The value returned from <code>in.skip(long)</code>
*
@@ -182,4 +182,3 @@ public abstract class FilterReader extends Reader
}
} // class FilterReader
+5 -6
View File
@@ -7,7 +7,7 @@ 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
@@ -44,15 +44,15 @@ package java.io;
*/
/**
* This class is the common superclass of output character stream classes
* This class is the common superclass of output character stream classes
* that filter the output they write. These classes typically transform the
* data in some way prior to writing it out to another underlying
* <code>Writer</code>. This class simply overrides all the
* <code>Writer</code>. This class simply overrides all the
* methods in <code>Writer</code> to redirect them to the
* underlying stream. Subclasses provide actual filtering.
*
* @author Aaron M. Renn (arenn@urbanophile.com)
* @author Tom Tromey (tromey@cygnus.com)
* @author Tom Tromey (tromey@cygnus.com)
*/
public abstract class FilterWriter extends Writer
{
@@ -132,7 +132,7 @@ public abstract class FilterWriter extends Writer
* starting at position <code>offset</code>.
*
* @param str The <code>String</code> that is to be written
* @param offset The character offset into the <code>String</code>
* @param offset The character offset into the <code>String</code>
* to start writing from
* @param len The number of chars to write
*
@@ -144,4 +144,3 @@ public abstract class FilterWriter extends Writer
}
} // class FilterWriter
+18 -18
View File
@@ -7,7 +7,7 @@ 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
@@ -35,7 +35,7 @@ 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 java.io;
/**
@@ -121,7 +121,7 @@ public abstract class InputStream implements Closeable
* if they support mark/reset functionality.
*
* @return <code>true</code> if mark/reset functionality is
* supported, <code>false</code> otherwise
* supported, <code>false</code> otherwise
*/
public boolean markSupported()
{
@@ -200,18 +200,18 @@ public abstract class InputStream implements Closeable
for (i = 0; i < len; ++i)
try
{
if ((ch = read()) < 0)
return i == 0 ? -1 : i; // EOF
b[off + i] = (byte) ch;
}
{
if ((ch = read()) < 0)
return i == 0 ? -1 : i; // EOF
b[off + i] = (byte) ch;
}
catch (IOException ex)
{
// Only reading the first byte should cause an IOException.
if (i == 0)
throw ex;
return i;
}
{
// Only reading the first byte should cause an IOException.
if (i == 0)
throw ex;
return i;
}
return i;
}
@@ -259,10 +259,10 @@ public abstract class InputStream implements Closeable
while (n > 0L)
{
int numread = read(tmpbuf, 0, n > buflen ? buflen : (int) n);
if (numread <= 0)
break;
n -= numread;
int numread = read(tmpbuf, 0, n > buflen ? buflen : (int) n);
if (numread <= 0)
break;
n -= numread;
}
return origN - n;
+117 -117
View File
@@ -8,7 +8,7 @@ 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
@@ -51,13 +51,13 @@ import java.nio.charset.CodingErrorAction;
/**
* This class reads characters from a byte input stream. The characters
* read are converted from bytes in the underlying stream by a
* read are converted from bytes in the underlying stream by a
* decoding layer. The decoding layer transforms bytes to chars according
* to an encoding standard. There are many available encodings to choose
* to an encoding standard. There are many available encodings to choose
* from. The desired encoding can either be specified by name, or if no
* encoding is selected, the system default encoding will be used. The
* system default encoding name is determined from the system property
* <code>file.encoding</code>. The only encodings that are guaranteed to
* <code>file.encoding</code>. The only encodings that are guaranteed to
* be availalbe are "8859_1" (the Latin-1 character set) and "UTF8".
* Unforunately, Java does not provide a mechanism for listing the
* ecodings that are supported in a given implementation.
@@ -79,7 +79,7 @@ import java.nio.charset.CodingErrorAction;
* <li>More later</li>
* </ul>
* <p>
* It is recommended that applications do not use
* It is recommended that applications do not use
* <code>InputStreamReader</code>'s
* directly. Rather, for efficiency purposes, an object of this class
* should be wrapped by a <code>BufferedReader</code>.
@@ -93,7 +93,7 @@ import java.nio.charset.CodingErrorAction;
* @author Robert Schuster
* @author Aaron M. Renn (arenn@urbanophile.com)
* @author Per Bothner (bothner@cygnus.com)
* @date April 22, 1998.
* @date April 22, 1998.
*/
public class InputStreamReader extends Reader
{
@@ -148,44 +148,44 @@ public class InputStreamReader extends Reader
* This method initializes a new instance of <code>InputStreamReader</code>
* to read from the specified stream using the default encoding.
*
* @param in The <code>InputStream</code> to read from
* @param in The <code>InputStream</code> to read from
*/
public InputStreamReader(InputStream in)
{
if (in == null)
throw new NullPointerException();
this.in = in;
try
{
encoding = SystemProperties.getProperty("file.encoding");
// Don't use NIO if avoidable
if(EncodingHelper.isISOLatin1(encoding))
{
encoding = "ISO8859_1";
maxBytesPerChar = 1f;
decoder = null;
return;
}
Charset cs = EncodingHelper.getCharset(encoding);
decoder = cs.newDecoder();
encoding = EncodingHelper.getOldCanonical(cs.name());
try {
maxBytesPerChar = cs.newEncoder().maxBytesPerChar();
} catch(UnsupportedOperationException _){
maxBytesPerChar = 1f;
}
decoder.onMalformedInput(CodingErrorAction.REPLACE);
decoder.onUnmappableCharacter(CodingErrorAction.REPLACE);
decoder.reset();
} catch(RuntimeException e) {
encoding = "ISO8859_1";
maxBytesPerChar = 1f;
decoder = null;
} catch(UnsupportedEncodingException e) {
encoding = "ISO8859_1";
maxBytesPerChar = 1f;
decoder = null;
}
try
{
encoding = SystemProperties.getProperty("file.encoding");
// Don't use NIO if avoidable
if(EncodingHelper.isISOLatin1(encoding))
{
encoding = "ISO8859_1";
maxBytesPerChar = 1f;
decoder = null;
return;
}
Charset cs = EncodingHelper.getCharset(encoding);
decoder = cs.newDecoder();
encoding = EncodingHelper.getOldCanonical(cs.name());
try {
maxBytesPerChar = cs.newEncoder().maxBytesPerChar();
} catch(UnsupportedOperationException _){
maxBytesPerChar = 1f;
}
decoder.onMalformedInput(CodingErrorAction.REPLACE);
decoder.onUnmappableCharacter(CodingErrorAction.REPLACE);
decoder.reset();
} catch(RuntimeException e) {
encoding = "ISO8859_1";
maxBytesPerChar = 1f;
decoder = null;
} catch(UnsupportedEncodingException e) {
encoding = "ISO8859_1";
maxBytesPerChar = 1f;
decoder = null;
}
}
/**
@@ -193,11 +193,11 @@ public class InputStreamReader extends Reader
* to read from the specified stream using a caller supplied character
* encoding scheme. Note that due to a deficiency in the Java language
* design, there is no way to determine which encodings are supported.
*
*
* @param in The <code>InputStream</code> to read from
* @param encoding_name The name of the encoding scheme to use
*
* @exception UnsupportedEncodingException If the encoding scheme
* @exception UnsupportedEncodingException If the encoding scheme
* requested is not available.
*/
public InputStreamReader(InputStream in, String encoding_name)
@@ -206,23 +206,23 @@ public class InputStreamReader extends Reader
if (in == null
|| encoding_name == null)
throw new NullPointerException();
this.in = in;
// Don't use NIO if avoidable
if(EncodingHelper.isISOLatin1(encoding_name))
{
encoding = "ISO8859_1";
maxBytesPerChar = 1f;
decoder = null;
return;
encoding = "ISO8859_1";
maxBytesPerChar = 1f;
decoder = null;
return;
}
try {
Charset cs = EncodingHelper.getCharset(encoding_name);
try {
maxBytesPerChar = cs.newEncoder().maxBytesPerChar();
} catch(UnsupportedOperationException _){
maxBytesPerChar = 1f;
}
maxBytesPerChar = 1f;
}
decoder = cs.newDecoder();
decoder.onMalformedInput(CodingErrorAction.REPLACE);
@@ -242,7 +242,7 @@ public class InputStreamReader extends Reader
* Creates an InputStreamReader that uses a decoder of the given
* charset to decode the bytes in the InputStream into
* characters.
*
*
* @since 1.4
*/
public InputStreamReader(InputStream in, Charset charset) {
@@ -266,7 +266,7 @@ public class InputStreamReader extends Reader
/**
* Creates an InputStreamReader that uses the given charset decoder
* to decode the bytes in the InputStream into characters.
*
*
* @since 1.4
*/
public InputStreamReader(InputStream in, CharsetDecoder decoder) {
@@ -282,8 +282,8 @@ public class InputStreamReader extends Reader
else
maxBytesPerChar = charset.newEncoder().maxBytesPerChar();
} catch(UnsupportedOperationException _){
maxBytesPerChar = 1f;
}
maxBytesPerChar = 1f;
}
decoder.onMalformedInput(CodingErrorAction.REPLACE);
decoder.onUnmappableCharacter(CodingErrorAction.REPLACE);
@@ -291,11 +291,11 @@ public class InputStreamReader extends Reader
if (charset == null)
encoding = "US-ASCII";
else
encoding = EncodingHelper.getOldCanonical(decoder.charset().name());
encoding = EncodingHelper.getOldCanonical(decoder.charset().name());
}
/**
* This method closes this stream, as well as the underlying
* This method closes this stream, as well as the underlying
* <code>InputStream</code>.
*
* @exception IOException If an error occurs
@@ -304,14 +304,14 @@ public class InputStreamReader extends Reader
{
synchronized (lock)
{
// Makes sure all intermediate data is released by the decoder.
if (decoder != null)
decoder.reset();
if (in != null)
in.close();
in = null;
isDone = true;
decoder = null;
// Makes sure all intermediate data is released by the decoder.
if (decoder != null)
decoder.reset();
if (in != null)
in.close();
in = null;
isDone = true;
decoder = null;
}
}
@@ -333,7 +333,7 @@ public class InputStreamReader extends Reader
* If the stream is not ready to be read, it could (although is not required
* to) block on the next read attempt.
*
* @return <code>true</code> if the stream is ready to be read,
* @return <code>true</code> if the stream is ready to be read,
* <code>false</code> otherwise
*
* @exception IOException If an error occurs
@@ -342,7 +342,7 @@ public class InputStreamReader extends Reader
{
if (in == null)
throw new IOException("Reader has been closed");
return in.available() != 0;
}
@@ -367,10 +367,10 @@ public class InputStreamReader extends Reader
return -1;
if(decoder != null)
{
int totalBytes = (int)((double) length * maxBytesPerChar);
int totalBytes = (int)((double) length * maxBytesPerChar);
if (byteBuffer != null)
totalBytes = Math.max(totalBytes, byteBuffer.remaining());
byte[] bytes;
byte[] bytes;
// Fetch cached bytes array if available and big enough.
synchronized(cacheLock)
{
@@ -381,57 +381,57 @@ public class InputStreamReader extends Reader
bytesCache = null;
}
int remaining = 0;
if(byteBuffer != null)
{
remaining = byteBuffer.remaining();
byteBuffer.get(bytes, 0, remaining);
}
int read;
if(totalBytes - remaining > 0)
{
read = in.read(bytes, remaining, totalBytes - remaining);
if(read == -1){
read = remaining;
isDone = true;
} else
read += remaining;
} else
int remaining = 0;
if(byteBuffer != null)
{
remaining = byteBuffer.remaining();
byteBuffer.get(bytes, 0, remaining);
}
int read;
if(totalBytes - remaining > 0)
{
read = in.read(bytes, remaining, totalBytes - remaining);
if(read == -1){
read = remaining;
isDone = true;
} else
read += remaining;
} else
read = remaining;
byteBuffer = ByteBuffer.wrap(bytes, 0, read);
CharBuffer cb = CharBuffer.wrap(buf, offset, length);
int startPos = cb.position();
byteBuffer = ByteBuffer.wrap(bytes, 0, read);
CharBuffer cb = CharBuffer.wrap(buf, offset, length);
int startPos = cb.position();
if(hasSavedSurrogate){
hasSavedSurrogate = false;
cb.put(savedSurrogate);
read++;
}
if(hasSavedSurrogate){
hasSavedSurrogate = false;
cb.put(savedSurrogate);
read++;
}
CoderResult cr = decoder.decode(byteBuffer, cb, isDone);
decoder.reset();
// 1 char remains which is the first half of a surrogate pair.
if(cr.isOverflow() && cb.hasRemaining()){
CharBuffer overflowbuf = CharBuffer.allocate(2);
cr = decoder.decode(byteBuffer, overflowbuf, isDone);
overflowbuf.flip();
if(overflowbuf.hasRemaining())
{
cb.put(overflowbuf.get());
savedSurrogate = overflowbuf.get();
hasSavedSurrogate = true;
isDone = false;
}
}
CoderResult cr = decoder.decode(byteBuffer, cb, isDone);
decoder.reset();
// 1 char remains which is the first half of a surrogate pair.
if(cr.isOverflow() && cb.hasRemaining()){
CharBuffer overflowbuf = CharBuffer.allocate(2);
cr = decoder.decode(byteBuffer, overflowbuf, isDone);
overflowbuf.flip();
if(overflowbuf.hasRemaining())
{
cb.put(overflowbuf.get());
savedSurrogate = overflowbuf.get();
hasSavedSurrogate = true;
isDone = false;
}
}
if(byteBuffer.hasRemaining()) {
byteBuffer.compact();
byteBuffer.flip();
isDone = false;
} else
byteBuffer = null;
if(byteBuffer.hasRemaining()) {
byteBuffer.compact();
byteBuffer.flip();
isDone = false;
} else
byteBuffer = null;
read = cb.position() - startPos;
read = cb.position() - startPos;
// Put cached bytes array back if we are finished and the cache
// is null or smaller than the used bytes array.
@@ -445,7 +445,7 @@ public class InputStreamReader extends Reader
}
else
{
byte[] bytes;
byte[] bytes;
// Fetch cached bytes array if available and big enough.
synchronized (cacheLock)
{
@@ -456,8 +456,8 @@ public class InputStreamReader extends Reader
bytesCache = null;
}
int read = in.read(bytes);
for(int i=0;i<read;i++)
int read = in.read(bytes);
for(int i=0;i<read;i++)
buf[offset+i] = (char)(bytes[i]&0xFF);
// Put back byte array into cache if appropriate.
@@ -466,7 +466,7 @@ public class InputStreamReader extends Reader
if (bytesCache == null || bytesCache.length < bytes.length)
bytesCache = bytes;
}
return read;
return read;
}
}
@@ -503,7 +503,7 @@ public class InputStreamReader extends Reader
{
if (in == null)
throw new IOException("Reader has been closed");
return super.skip(count);
}
}
@@ -108,4 +108,3 @@ public class InvalidClassException extends ObjectStreamException
return (classname == null ? "" : classname + "; ") + msg;
}
}
@@ -7,7 +7,7 @@ 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
@@ -82,7 +82,7 @@ public class LineNumberInputStream extends FilterInputStream
private boolean justReadReturnChar = false;
/**
* Create a new <code>LineNumberInputStream</code> that reads from the
* Create a new <code>LineNumberInputStream</code> that reads from the
* specified subordinate <code>InputStream</code>
*
* @param in The subordinate <code>InputStream</code> to read from
@@ -147,7 +147,7 @@ public class LineNumberInputStream extends FilterInputStream
* functionality.
*
* @param readlimit The number of bytes that can be read before the
* mark becomes invalid
* mark becomes invalid
*/
public void mark(int readlimit)
{
@@ -170,7 +170,7 @@ public class LineNumberInputStream extends FilterInputStream
* to be read.
*
* @return The byte read or -1 if end of stream
*
*
* @exception IOException If an error occurs
*/
public int read() throws IOException
@@ -183,17 +183,17 @@ public class LineNumberInputStream extends FilterInputStream
if (ch == '\n')
if (justReadReturnChar)
{
ch = in.read();
{
ch = in.read();
justReadReturnChar = false;
}
}
else
lineNumber++;
lineNumber++;
else if (ch == '\r')
{
ch = '\n';
justReadReturnChar = true;
lineNumber++;
ch = '\n';
justReadReturnChar = true;
lineNumber++;
}
else
justReadReturnChar = false;
@@ -239,11 +239,11 @@ public class LineNumberInputStream extends FilterInputStream
final int origOff = off;
while (len-- > 0)
{
int ch = read();
if (ch < 0)
break;
int ch = read();
if (ch < 0)
break;
b[off++] = (byte) ch;
b[off++] = (byte) ch;
}
// This is safe since we already know that some bytes were
@@ -274,7 +274,7 @@ public class LineNumberInputStream extends FilterInputStream
/**
* This method sets the current line number to the specified value.
*
*
* @param lineNumber The new line number
*/
public void setLineNumber(int lineNumber)
@@ -283,7 +283,7 @@ public class LineNumberInputStream extends FilterInputStream
}
/**
* This method skips up to the requested number of bytes in the
* This method skips up to the requested number of bytes in the
* input stream. The actual number of bytes skipped is returned. If the
* desired number of bytes to skip is negative, no bytes are skipped.
*
@@ -302,11 +302,11 @@ public class LineNumberInputStream extends FilterInputStream
do
{
int ch = read();
if (ch < 0)
break;
if (ch == '\n' || ch == '\r')
lineNumber++;
int ch = read();
if (ch < 0)
break;
if (ch == '\n' || ch == '\r')
lineNumber++;
}
while (--n > 0);
+73 -74
View File
@@ -151,22 +151,22 @@ public class LineNumberReader extends BufferedReader
synchronized (lock)
{
// This is basically the same as BufferedReader.mark.
// However, if the previous character was a '\r', we need to
// save that 'r', in case the next character is a '\n'.
if (pos + readLimit > limit)
{
int saveCR = matchedNewLine ? 1 : 0;
char[] old_buffer = buffer;
if (readLimit > limit)
buffer = new char[saveCR + readLimit];
int copy_start = pos - saveCR;
savedLineNumber = lineNumber;
limit -= copy_start;
System.arraycopy(old_buffer, copy_start, buffer, 0, limit);
pos = saveCR;
}
markPos = pos;
// This is basically the same as BufferedReader.mark.
// However, if the previous character was a '\r', we need to
// save that 'r', in case the next character is a '\n'.
if (pos + readLimit > limit)
{
int saveCR = matchedNewLine ? 1 : 0;
char[] old_buffer = buffer;
if (readLimit > limit)
buffer = new char[saveCR + readLimit];
int copy_start = pos - saveCR;
savedLineNumber = lineNumber;
limit -= copy_start;
System.arraycopy(old_buffer, copy_start, buffer, 0, limit);
pos = saveCR;
}
markPos = pos;
}
}
@@ -185,11 +185,11 @@ public class LineNumberReader extends BufferedReader
{
synchronized (lock)
{
if (markPos < 0)
throw new IOException("mark never set or invalidated");
lineNumber = savedLineNumber;
pos = markPos;
matchedNewLine = (markPos > 0 && buffer[markPos-1] == '\r');
if (markPos < 0)
throw new IOException("mark never set or invalidated");
lineNumber = savedLineNumber;
pos = markPos;
matchedNewLine = (markPos > 0 && buffer[markPos-1] == '\r');
}
}
@@ -237,24 +237,24 @@ public class LineNumberReader extends BufferedReader
{
synchronized (lock)
{
skipRedundantLF();
if (pos >= limit && fill() < 0)
return -1;
char ch = buffer[pos++];
if ((matchedNewLine = (ch == '\r')) || ch == '\n')
{
lineNumber++;
return '\n';
}
matchedNewLine = false;
return (int) ch;
skipRedundantLF();
if (pos >= limit && fill() < 0)
return -1;
char ch = buffer[pos++];
if ((matchedNewLine = (ch == '\r')) || ch == '\n')
{
lineNumber++;
return '\n';
}
matchedNewLine = false;
return (int) ch;
}
}
/**
* This method reads chars from a stream and stores them into a caller
* supplied buffer. It starts storing data at index <code>offset</code> into
* supplied buffer. It starts storing data at index <code>offset</code> into
* the buffer and attemps to read <code>len</code> chars. This method can
* return before reading the number of chars requested. The actual number
* of chars read is returned as an int. A -1 is returned to indicated the
@@ -288,37 +288,37 @@ public class LineNumberReader extends BufferedReader
if (count <= 0)
{
if (count < 0)
throw new IndexOutOfBoundsException();
return 0;
if (count < 0)
throw new IndexOutOfBoundsException();
return 0;
}
synchronized (lock)
{
if (pos >= limit && fill() < 0)
return -1;
int start_offset = offset;
boolean matched = matchedNewLine;
while (count-- > 0 && pos < limit)
{
char ch = buffer[pos++];
if (ch == '\r')
{
lineNumber++;
matched = true;
}
else if (ch == '\n' && !matched)
lineNumber++;
else
matched = false;
if (pos >= limit && fill() < 0)
return -1;
buf[offset++] = ch;
}
int start_offset = offset;
boolean matched = matchedNewLine;
matchedNewLine = matched;
return offset - start_offset;
while (count-- > 0 && pos < limit)
{
char ch = buffer[pos++];
if (ch == '\r')
{
lineNumber++;
matched = true;
}
else if (ch == '\n' && !matched)
lineNumber++;
else
matched = false;
buf[offset++] = ch;
}
matchedNewLine = matched;
return offset - start_offset;
}
}
@@ -326,20 +326,20 @@ public class LineNumberReader extends BufferedReader
{
if (pos > 0 && matchedNewLine)
{
if (pos < limit)
{ // fast case
if (buffer[pos] == '\n')
pos++;
}
else
{ // check whether the next buffer begins with '\n'.
// in that case kill the '\n'.
if (fill() <= 0)
return;
if (buffer[pos] == '\n')
pos++;
}
matchedNewLine = true;
if (pos < limit)
{ // fast case
if (buffer[pos] == '\n')
pos++;
}
else
{ // check whether the next buffer begins with '\n'.
// in that case kill the '\n'.
if (fill() <= 0)
return;
if (buffer[pos] == '\n')
pos++;
}
matchedNewLine = true;
}
}
@@ -414,4 +414,3 @@ public class LineNumberReader extends BufferedReader
return skipped;
}
}
+9 -9
View File
@@ -7,7 +7,7 @@ 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
@@ -36,7 +36,7 @@ obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
package java.io;
package java.io;
/**
* This interface extends the <code>DataInput</code> interface to provide a
@@ -62,9 +62,9 @@ public interface ObjectInput extends DataInput
/**
* This method reading a byte of data from a stream. It returns that byte
* as an <code>int</code>. This method blocks if no data is available
* as an <code>int</code>. This method blocks if no data is available
* to be read.
*
*
* @return The byte of data read
*
* @exception IOException If an error occurs
@@ -73,7 +73,7 @@ public interface ObjectInput extends DataInput
/**
* This method reads raw bytes and stores them them a byte array buffer.
* Note that this method will block if no data is available. However,
* Note that this method will block if no data is available. However,
* it will not necessarily block until it fills the entire buffer. That is,
* a "short count" is possible.
*
@@ -87,8 +87,8 @@ public interface ObjectInput extends DataInput
/**
* This method reads raw bytes and stores them in a byte array buffer
* <code>buf</code> starting at position <code>offset</code> into the
* buffer. A
* <code>buf</code> starting at position <code>offset</code> into the
* buffer. A
* maximum of <code>len</code> bytes will be read. Note that this method
* blocks if no data is available, but will not necessarily block until
* it can read <code>len</code> bytes of data. That is, a "short count" is
@@ -111,11 +111,11 @@ public interface ObjectInput extends DataInput
*
* @return The object instance that was read
*
* @exception ClassNotFoundException If a class for the object cannot be
* @exception ClassNotFoundException If a class for the object cannot be
* found
* @exception IOException If any other error occurs
*/
Object readObject()
Object readObject()
throws ClassNotFoundException, IOException;
/**
File diff suppressed because it is too large Load Diff
@@ -1,4 +1,4 @@
/* ObjectInputValidation.java -- Validate an object
/* ObjectInputValidation.java -- Validate an object
Copyright (C) 1998, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -7,7 +7,7 @@ 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
@@ -36,7 +36,7 @@ obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
package java.io;
package java.io;
/**
* This class allows an object to validate that it is valid after
@@ -46,7 +46,7 @@ package java.io;
* be used to perform re-initialization type activities on an object
* after it has been completely deserialized.
*
* Since this method functions as a type of callback, it must be
* Since this method functions as a type of callback, it must be
* registered through <code>ObjectInputStream.registerValidation</code>
* in order to be invoked. This is typically done in the
* <code>readObject</code> method.
+4 -5
View File
@@ -7,7 +7,7 @@ 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
@@ -41,7 +41,7 @@ package java.io;
/**
* This interface extends <code>DataOutput</code> to provide the additional
* facility of writing object instances to a stream. It also adds some
* additional methods to make the interface more
* additional methods to make the interface more
* <code>OutputStream</code> like.
*
* @author Aaron M. Renn (arenn@urbanophile.com)
@@ -64,7 +64,7 @@ public interface ObjectOutput extends DataOutput
* output stream.
*
* @param buf The array of bytes to write.
*
*
* @exception IOException If an error occurs.
*/
void write(byte[] buf) throws IOException;
@@ -79,7 +79,7 @@ public interface ObjectOutput extends DataOutput
*
* @exception IOException If an error occurs.
*/
void write(byte[] buf, int offset, int len)
void write(byte[] buf, int offset, int len)
throws IOException;
/**
@@ -108,4 +108,3 @@ public interface ObjectOutput extends DataOutput
void close() throws IOException;
} // interface ObjectOutput
File diff suppressed because it is too large Load Diff
+304 -304
View File
@@ -8,7 +8,7 @@ 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
@@ -81,7 +81,7 @@ public class ObjectStreamClass implements Serializable
*
* Warning: If this class contains an invalid serialPersistentField arrays
* lookup will not throw anything. However {@link #getFields()} will return
* an empty array and {@link java.io.ObjectOutputStream#writeObject} will throw an
* an empty array and {@link java.io.ObjectOutputStream#writeObject} will throw an
* {@link java.io.InvalidClassException}.
*
* @see java.io.Serializable
@@ -112,9 +112,9 @@ public class ObjectStreamClass implements Serializable
return osc;
else
{
osc = new ObjectStreamClass(cl);
classLookupTable.put(cl, osc);
return osc;
osc = new ObjectStreamClass(cl);
classLookupTable.put(cl, osc);
return osc;
}
}
@@ -180,7 +180,7 @@ public class ObjectStreamClass implements Serializable
{
for (int i = 0; i < fields.length; i++)
if (fields[i].getName().equals(name))
return fields[i];
return fields[i];
return null;
}
@@ -256,24 +256,24 @@ public class ObjectStreamClass implements Serializable
*/
ObjectStreamClass[] hierarchy()
{
ObjectStreamClass[] result = hierarchy;
ObjectStreamClass[] result = hierarchy;
if (result == null)
{
int d = 0;
int d = 0;
for(ObjectStreamClass osc = this; osc != null; osc = osc.getSuper())
d++;
result = new ObjectStreamClass[d];
for (ObjectStreamClass osc = this; osc != null; osc = osc.getSuper())
{
result[--d] = osc;
}
hierarchy = result;
hierarchy = result;
}
return result;
return result;
}
/**
@@ -292,7 +292,7 @@ public class ObjectStreamClass implements Serializable
ObjectStreamClass(String name, long uid, byte flags,
ObjectStreamField[] fields)
ObjectStreamField[] fields)
{
this.name = name;
this.uid = uid;
@@ -322,117 +322,117 @@ public class ObjectStreamClass implements Serializable
uid = class_uid;
else
{
// Check that the actual UID of the resolved class matches the UID from
// the stream. Mismatches for array classes are ignored.
if (!cl.isArray() && uid != class_uid)
{
String msg = cl +
": Local class not compatible: stream serialVersionUID="
+ uid + ", local serialVersionUID=" + class_uid;
throw new InvalidClassException (msg);
}
// Check that the actual UID of the resolved class matches the UID from
// the stream. Mismatches for array classes are ignored.
if (!cl.isArray() && uid != class_uid)
{
String msg = cl +
": Local class not compatible: stream serialVersionUID="
+ uid + ", local serialVersionUID=" + class_uid;
throw new InvalidClassException (msg);
}
}
isProxyClass = clazz != null && Proxy.isProxyClass(clazz);
this.superClass = superClass;
calculateOffsets();
try
{
ObjectStreamField[] exportedFields = getSerialPersistentFields (clazz);
ObjectStreamField[] exportedFields = getSerialPersistentFields (clazz);
if (exportedFields == null)
return;
if (exportedFields == null)
return;
ObjectStreamField[] newFieldList = new ObjectStreamField[exportedFields.length + fields.length];
int i, j, k;
ObjectStreamField[] newFieldList = new ObjectStreamField[exportedFields.length + fields.length];
int i, j, k;
/* We now check the import fields against the exported fields.
* There should not be contradiction (e.g. int x and String x)
* but extra virtual fields can be added to the class.
*/
/* We now check the import fields against the exported fields.
* There should not be contradiction (e.g. int x and String x)
* but extra virtual fields can be added to the class.
*/
Arrays.sort(exportedFields);
Arrays.sort(exportedFields);
i = 0; j = 0; k = 0;
while (i < fields.length && j < exportedFields.length)
{
int comp = fields[i].compareTo(exportedFields[j]);
i = 0; j = 0; k = 0;
while (i < fields.length && j < exportedFields.length)
{
int comp = fields[i].compareTo(exportedFields[j]);
if (comp < 0)
{
newFieldList[k] = fields[i];
fields[i].setPersistent(false);
fields[i].setToSet(false);
i++;
}
else if (comp > 0)
{
/* field not found in imported fields. We add it
* in the list of supported fields.
*/
newFieldList[k] = exportedFields[j];
newFieldList[k].setPersistent(true);
newFieldList[k].setToSet(false);
try
{
newFieldList[k].lookupField(clazz);
newFieldList[k].checkFieldType();
}
catch (NoSuchFieldException _)
{
}
j++;
}
else
{
try
{
exportedFields[j].lookupField(clazz);
exportedFields[j].checkFieldType();
}
catch (NoSuchFieldException _)
{
}
if (comp < 0)
{
newFieldList[k] = fields[i];
fields[i].setPersistent(false);
fields[i].setToSet(false);
i++;
}
else if (comp > 0)
{
/* field not found in imported fields. We add it
* in the list of supported fields.
*/
newFieldList[k] = exportedFields[j];
newFieldList[k].setPersistent(true);
newFieldList[k].setToSet(false);
try
{
newFieldList[k].lookupField(clazz);
newFieldList[k].checkFieldType();
}
catch (NoSuchFieldException _)
{
}
j++;
}
else
{
try
{
exportedFields[j].lookupField(clazz);
exportedFields[j].checkFieldType();
}
catch (NoSuchFieldException _)
{
}
if (!fields[i].getType().equals(exportedFields[j].getType()))
throw new InvalidClassException
("serialPersistentFields must be compatible with" +
" imported fields (about " + fields[i].getName() + ")");
newFieldList[k] = fields[i];
fields[i].setPersistent(true);
i++;
j++;
}
k++;
}
if (!fields[i].getType().equals(exportedFields[j].getType()))
throw new InvalidClassException
("serialPersistentFields must be compatible with" +
" imported fields (about " + fields[i].getName() + ")");
newFieldList[k] = fields[i];
fields[i].setPersistent(true);
i++;
j++;
}
k++;
}
if (i < fields.length)
for (;i<fields.length;i++,k++)
{
fields[i].setPersistent(false);
fields[i].setToSet(false);
newFieldList[k] = fields[i];
}
else
if (j < exportedFields.length)
for (;j<exportedFields.length;j++,k++)
{
exportedFields[j].setPersistent(true);
exportedFields[j].setToSet(false);
newFieldList[k] = exportedFields[j];
}
fields = new ObjectStreamField[k];
System.arraycopy(newFieldList, 0, fields, 0, k);
if (i < fields.length)
for (;i<fields.length;i++,k++)
{
fields[i].setPersistent(false);
fields[i].setToSet(false);
newFieldList[k] = fields[i];
}
else
if (j < exportedFields.length)
for (;j<exportedFields.length;j++,k++)
{
exportedFields[j].setPersistent(true);
exportedFields[j].setToSet(false);
newFieldList[k] = exportedFields[j];
}
fields = new ObjectStreamField[k];
System.arraycopy(newFieldList, 0, fields, 0, k);
}
catch (NoSuchFieldException ignore)
{
return;
return;
}
catch (IllegalAccessException ignore)
{
return;
return;
}
}
@@ -450,31 +450,31 @@ public class ObjectStreamClass implements Serializable
int fcount = fields.length;
for (i = 0; i < fcount; ++ i)
{
field = fields[i];
field = fields[i];
if (! field.isPrimitive())
break;
if (! field.isPrimitive())
break;
field.setOffset(primFieldSize);
switch (field.getTypeCode())
{
case 'B':
case 'Z':
++ primFieldSize;
break;
case 'C':
case 'S':
primFieldSize += 2;
break;
case 'I':
case 'F':
primFieldSize += 4;
break;
case 'D':
case 'J':
primFieldSize += 8;
break;
}
field.setOffset(primFieldSize);
switch (field.getTypeCode())
{
case 'B':
case 'Z':
++ primFieldSize;
break;
case 'C':
case 'S':
primFieldSize += 2;
break;
case 'I':
case 'F':
primFieldSize += 4;
break;
case 'D':
case 'J':
primFieldSize += 8;
break;
}
}
for (objectFieldCount = 0; i < fcount; ++ i)
@@ -482,12 +482,12 @@ public class ObjectStreamClass implements Serializable
}
private Method findMethod(Method[] methods, String name, Class[] params,
Class returnType, boolean mustBePrivate)
Class returnType, boolean mustBePrivate)
{
outer:
for (int i = 0; i < methods.length; i++)
{
final Method m = methods[i];
final Method m = methods[i];
int mods = m.getModifiers();
if (Modifier.isStatic(mods)
|| (mustBePrivate && !Modifier.isPrivate(mods)))
@@ -495,23 +495,23 @@ outer:
continue;
}
if (m.getName().equals(name)
&& m.getReturnType() == returnType)
{
Class[] mp = m.getParameterTypes();
if (mp.length == params.length)
{
for (int j = 0; j < mp.length; j++)
{
if (mp[j] != params[j])
{
continue outer;
}
}
AccessController.doPrivileged(new SetAccessibleAction(m));
return m;
}
}
if (m.getName().equals(name)
&& m.getReturnType() == returnType)
{
Class[] mp = m.getParameterTypes();
if (mp.length == params.length)
{
for (int j = 0; j < mp.length; j++)
{
if (mp[j] != params[j])
{
continue outer;
}
}
AccessController.doPrivileged(new SetAccessibleAction(m));
return m;
}
}
}
return null;
}
@@ -540,23 +540,23 @@ outer:
{
for (Class c = from; c != null; c = c.getSuperclass())
{
try
{
Method res = c.getDeclaredMethod(name, noArgs);
int mods = res.getModifiers();
if (c == from
|| Modifier.isProtected(mods)
|| Modifier.isPublic(mods)
|| (! Modifier.isPrivate(mods) && inSamePackage(c, from)))
{
AccessController.doPrivileged(new SetAccessibleAction(res));
return res;
}
}
catch (NoSuchMethodException e)
{
}
try
{
Method res = c.getDeclaredMethod(name, noArgs);
int mods = res.getModifiers();
if (c == from
|| Modifier.isProtected(mods)
|| Modifier.isPublic(mods)
|| (! Modifier.isPrivate(mods) && inSamePackage(c, from)))
{
AccessController.doPrivileged(new SetAccessibleAction(res));
return res;
}
}
catch (NoSuchMethodException e)
{
}
}
return null;
@@ -576,37 +576,37 @@ outer:
private static boolean loadedByBootOrApplicationClassLoader(Class cl)
{
ClassLoader l = cl.getClassLoader();
return
( l == null /* boot loader */ )
return
( l == null /* boot loader */ )
|| (l == ClassLoader.getSystemClassLoader() /* application loader */);
}
}
static Hashtable methodCache = new Hashtable();
static Hashtable methodCache = new Hashtable();
static final Class[] readObjectSignature = { ObjectInputStream.class };
static final Class[] writeObjectSignature = { ObjectOutputStream.class };
private void cacheMethods()
{
Class cl = forClass();
Method[] cached = (Method[]) methodCache.get(cl);
Class cl = forClass();
Method[] cached = (Method[]) methodCache.get(cl);
if (cached == null)
{
cached = new Method[4];
Method[] methods = cl.getDeclaredMethods();
cached[0] = findMethod(methods, "readObject",
readObjectSignature,
readObjectSignature,
Void.TYPE, true);
cached[1] = findMethod(methods, "writeObject",
writeObjectSignature,
writeObjectSignature,
Void.TYPE, true);
// readResolve and writeReplace can be in parent classes, as long as they
// are accessible from this class.
cached[2] = findAccessibleMethod("readResolve", cl);
cached[3] = findAccessibleMethod("writeReplace", cl);
/* put in cache if classes not loaded by user class loader.
* For a user class loader, the cache may otherwise grow
* without limit.
@@ -681,65 +681,65 @@ outer:
if (!isSerializable() || isExternalizable() || isEnum())
{
fields = NO_FIELDS;
return;
fields = NO_FIELDS;
return;
}
try
{
final Field f =
cl.getDeclaredField("serialPersistentFields");
setAccessible.setMember(f);
AccessController.doPrivileged(setAccessible);
int modifiers = f.getModifiers();
final Field f =
cl.getDeclaredField("serialPersistentFields");
setAccessible.setMember(f);
AccessController.doPrivileged(setAccessible);
int modifiers = f.getModifiers();
if (Modifier.isStatic(modifiers)
&& Modifier.isFinal(modifiers)
&& Modifier.isPrivate(modifiers))
{
fields = getSerialPersistentFields(cl);
if (fields != null)
{
ObjectStreamField[] fieldsName = new ObjectStreamField[fields.length];
System.arraycopy(fields, 0, fieldsName, 0, fields.length);
if (Modifier.isStatic(modifiers)
&& Modifier.isFinal(modifiers)
&& Modifier.isPrivate(modifiers))
{
fields = getSerialPersistentFields(cl);
if (fields != null)
{
ObjectStreamField[] fieldsName = new ObjectStreamField[fields.length];
System.arraycopy(fields, 0, fieldsName, 0, fields.length);
Arrays.sort (fieldsName, new Comparator() {
public int compare(Object o1, Object o2)
{
ObjectStreamField f1 = (ObjectStreamField)o1;
ObjectStreamField f2 = (ObjectStreamField)o2;
return f1.getName().compareTo(f2.getName());
}
});
for (int i=1; i < fields.length; i++)
{
if (fieldsName[i-1].getName().equals(fieldsName[i].getName()))
{
fields = INVALID_FIELDS;
return;
}
}
Arrays.sort (fieldsName, new Comparator() {
public int compare(Object o1, Object o2)
{
ObjectStreamField f1 = (ObjectStreamField)o1;
ObjectStreamField f2 = (ObjectStreamField)o2;
Arrays.sort (fields);
// Retrieve field reference.
for (int i=0; i < fields.length; i++)
{
try
{
fields[i].lookupField(cl);
}
catch (NoSuchFieldException _)
{
fields[i].setToSet(false);
}
}
calculateOffsets();
return;
}
}
return f1.getName().compareTo(f2.getName());
}
});
for (int i=1; i < fields.length; i++)
{
if (fieldsName[i-1].getName().equals(fieldsName[i].getName()))
{
fields = INVALID_FIELDS;
return;
}
}
Arrays.sort (fields);
// Retrieve field reference.
for (int i=0; i < fields.length; i++)
{
try
{
fields[i].lookupField(cl);
}
catch (NoSuchFieldException _)
{
fields[i].setToSet(false);
}
}
calculateOffsets();
return;
}
}
}
catch (NoSuchFieldException ignore)
{
@@ -755,34 +755,34 @@ outer:
// set non-serializable fields to null in all_fields
for (int i = 0; i < all_fields.length; i++)
{
modifiers = all_fields[i].getModifiers();
if (Modifier.isTransient(modifiers)
|| Modifier.isStatic(modifiers))
all_fields[i] = null;
else
num_good_fields++;
modifiers = all_fields[i].getModifiers();
if (Modifier.isTransient(modifiers)
|| Modifier.isStatic(modifiers))
all_fields[i] = null;
else
num_good_fields++;
}
// make a copy of serializable (non-null) fields
fields = new ObjectStreamField[ num_good_fields ];
for (int from = 0, to = 0; from < all_fields.length; from++)
if (all_fields[from] != null)
{
final Field f = all_fields[from];
setAccessible.setMember(f);
AccessController.doPrivileged(setAccessible);
fields[to] = new ObjectStreamField(all_fields[from]);
to++;
}
{
final Field f = all_fields[from];
setAccessible.setMember(f);
AccessController.doPrivileged(setAccessible);
fields[to] = new ObjectStreamField(all_fields[from]);
to++;
}
Arrays.sort(fields);
// Make sure we don't have any duplicate field names
// (Sun JDK 1.4.1. throws an Internal Error as well)
for (int i = 1; i < fields.length; i++)
{
if(fields[i - 1].getName().equals(fields[i].getName()))
throw new InternalError("Duplicate field " +
fields[i].getName() + " in class " + cl.getName());
if(fields[i - 1].getName().equals(fields[i].getName()))
throw new InternalError("Duplicate field " +
fields[i].getName() + " in class " + cl.getName());
}
calculateOffsets();
}
@@ -796,17 +796,17 @@ outer:
long result = 0;
Long cache = (Long) uidCache.get(cl);
if (cache != null)
result = cache.longValue();
result = cache.longValue();
else
{
// Note that we can't use Class.isEnum() here, because that returns
// false for java.lang.Enum and enum value sub classes.
if (Enum.class.isAssignableFrom(cl) || Proxy.isProxyClass(cl))
{
// Spec says that enums and dynamic proxies have
// a serialVersionUID of 0L.
return 0L;
}
// Note that we can't use Class.isEnum() here, because that returns
// false for java.lang.Enum and enum value sub classes.
if (Enum.class.isAssignableFrom(cl) || Proxy.isProxyClass(cl))
{
// Spec says that enums and dynamic proxies have
// a serialVersionUID of 0L.
return 0L;
}
try
{
result = getClassUIDFromField(cl);
@@ -844,11 +844,11 @@ outer:
* @throws NoSuchFieldException if such a field does not exist or is
* not static, not final, not of type Long or not accessible.
*/
long getClassUIDFromField(Class cl)
long getClassUIDFromField(Class cl)
throws NoSuchFieldException
{
long result;
try
{
// Use getDeclaredField rather than getField, since serialVersionUID
@@ -858,7 +858,7 @@ outer:
SetAccessibleAction setAccessible = new SetAccessibleAction(suid);
AccessController.doPrivileged(setAccessible);
int modifiers = suid.getModifiers();
if (Modifier.isStatic(modifiers)
&& Modifier.isFinal(modifiers)
&& suid.getType() == Long.TYPE)
@@ -887,12 +887,12 @@ outer:
* @throws IOException if writing to the DigestOutputStream causes
* an IOException.
*/
long calculateClassUID(Class cl)
long calculateClassUID(Class cl)
throws NoSuchAlgorithmException, IOException
{
long result;
long result;
MessageDigest md;
try
try
{
md = MessageDigest.getInstance("SHA");
}
@@ -903,19 +903,19 @@ outer:
Security.addProvider(gnuProvider);
md = MessageDigest.getInstance("SHA");
}
DigestOutputStream digest_out =
new DigestOutputStream(nullOutputStream, md);
DataOutputStream data_out = new DataOutputStream(digest_out);
data_out.writeUTF(cl.getName());
int modifiers = cl.getModifiers();
// just look at interesting bits
modifiers = modifiers & (Modifier.ABSTRACT | Modifier.FINAL
| Modifier.INTERFACE | Modifier.PUBLIC);
data_out.writeInt(modifiers);
// Pretend that an array has no interfaces, because when array
// serialization was defined (JDK 1.1), arrays didn't have it.
if (! cl.isArray())
@@ -925,7 +925,7 @@ outer:
for (int i = 0; i < interfaces.length; i++)
data_out.writeUTF(interfaces[i].getName());
}
Field field;
Field[] fields = cl.getDeclaredFields();
Arrays.sort(fields, memberComparator);
@@ -937,12 +937,12 @@ outer:
&& (Modifier.isStatic(modifiers)
|| Modifier.isTransient(modifiers)))
continue;
data_out.writeUTF(field.getName());
data_out.writeInt(modifiers);
data_out.writeUTF(TypeSignature.getEncodingOfClass (field.getType()));
}
// write class initializer method if present
if (VMObjectStreamClass.hasClassInitializer(cl))
{
@@ -950,7 +950,7 @@ outer:
data_out.writeInt(Modifier.STATIC);
data_out.writeUTF("()V");
}
Constructor constructor;
Constructor[] constructors = cl.getDeclaredConstructors();
Arrays.sort (constructors, memberComparator);
@@ -960,16 +960,16 @@ outer:
modifiers = constructor.getModifiers();
if (Modifier.isPrivate(modifiers))
continue;
data_out.writeUTF("<init>");
data_out.writeInt(modifiers);
// the replacement of '/' with '.' was needed to make computed
// SUID's agree with those computed by JDK
data_out.writeUTF
data_out.writeUTF
(TypeSignature.getEncodingOfConstructor(constructor).replace('/','.'));
}
Method method;
Method[] methods = cl.getDeclaredMethods();
Arrays.sort(methods, memberComparator);
@@ -979,16 +979,16 @@ outer:
modifiers = method.getModifiers();
if (Modifier.isPrivate(modifiers))
continue;
data_out.writeUTF(method.getName());
data_out.writeInt(modifiers);
// the replacement of '/' with '.' was needed to make computed
// SUID's agree with those computed by JDK
data_out.writeUTF
(TypeSignature.getEncodingOfMethod(method).replace('/', '.'));
}
data_out.close();
byte[] sha = md.digest();
result = 0;
@@ -1008,7 +1008,7 @@ outer:
* @param clazz Class to retrieve 'serialPersistentFields' from.
* @return The content of 'serialPersistentFields'.
*/
private ObjectStreamField[] getSerialPersistentFields(Class clazz)
private ObjectStreamField[] getSerialPersistentFields(Class clazz)
throws NoSuchFieldException, IllegalAccessException
{
ObjectStreamField[] fieldsArray = null;
@@ -1021,12 +1021,12 @@ outer:
int modifiers = f.getModifiers();
if (!(Modifier.isStatic(modifiers) &&
Modifier.isFinal(modifiers) &&
Modifier.isPrivate(modifiers)))
Modifier.isFinal(modifiers) &&
Modifier.isPrivate(modifiers)))
return null;
o = (ObjectStreamField[]) f.get(null);
if (o == null)
return null;
@@ -1047,40 +1047,40 @@ outer:
{
synchronized(this)
{
if (constructor == null)
{
try
{
final Constructor c = clazz.getConstructor(new Class[0]);
if (constructor == null)
{
try
{
final Constructor c = clazz.getConstructor(new Class[0]);
AccessController.doPrivileged(new PrivilegedAction()
{
public Object run()
{
c.setAccessible(true);
return null;
}
});
AccessController.doPrivileged(new PrivilegedAction()
{
public Object run()
{
c.setAccessible(true);
return null;
}
});
constructor = c;
}
catch(NoSuchMethodException x)
{
throw new InvalidClassException(clazz.getName(),
"No public zero-argument constructor");
}
}
constructor = c;
}
catch(NoSuchMethodException x)
{
throw new InvalidClassException(clazz.getName(),
"No public zero-argument constructor");
}
}
}
try
{
return (Externalizable)constructor.newInstance();
return (Externalizable)constructor.newInstance();
}
catch(Exception x)
{
throw (InvalidClassException)
new InvalidClassException(clazz.getName(),
"Unable to instantiate").initCause(x);
throw (InvalidClassException)
new InvalidClassException(clazz.getName(),
"Unable to instantiate").initCause(x);
}
}
@@ -1153,7 +1153,7 @@ outer:
if (comp == 0)
return TypeSignature.getEncodingOfMember(m1).
compareTo(TypeSignature.getEncodingOfMember(m2));
compareTo(TypeSignature.getEncodingOfMember(m2));
else
return comp;
}
@@ -8,7 +8,7 @@ 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
@@ -45,24 +45,24 @@ package java.io;
* <code>ObjectInputStream</code>, and <code>ObjectStreamClass</code>.
* The values for these constants are specified by the Java library
* specification.
*
*
* @since 1.1
*/
public interface ObjectStreamConstants
{
/**
/**
* The serialization stream protocol version 1. This version was
* the default serialization protocol before JDK 1.2.
*
*
* @see ObjectOutputStream#useProtocolVersion(int)
* @since 1.2
*/
int PROTOCOL_VERSION_1 = 1;
/**
/**
* The serialization stream protocol version 2. This version is
* used as the default serialization protocol since JDK 1.2.
*
*
* @see ObjectOutputStream#useProtocolVersion(int)
* @since 1.2
*/
@@ -72,7 +72,7 @@ public interface ObjectStreamConstants
* The magic number that is written as part of the stream header.
*/
short STREAM_MAGIC = (short)0xaced;
/**
* The stream version number that is written as part of the stream header.
* Note that this is different from the protocol version that specifies
@@ -84,70 +84,70 @@ public interface ObjectStreamConstants
* Token value to designate a <code>null</code> reference in the stream.
*/
byte TC_NULL = (byte)112; //0x70
/**
* Token value to designate a reference to an already serialized object.
*/
byte TC_REFERENCE = (byte)113; //0x71
/**
* Token value to designate a class descriptor is next in the stream.
*/
byte TC_CLASSDESC = (byte)114; //0x72
/**
* Token value to designate a new object is next in the stream.
* Token value to designate a new object is next in the stream.
*/
byte TC_OBJECT = (byte)115; //0x73
/**
* Token value to designate a new string is next in the stream.
*/
byte TC_STRING = (byte)116; //0x74
/**
* Token value to designate a new array is next in the stream.
*/
byte TC_ARRAY = (byte)117; //0x75
/**
* Token reference to designate a reference to a class.
*/
byte TC_CLASS = (byte)118; //0x76
/**
* Token value to designate a block of primitive data is next in the stream.
* The next byte in the stream holds the size of the block (in bytes).
*/
byte TC_BLOCKDATA = (byte)119; //0x77
/**
* Token value to designate the end of a block of primitve data.
*/
byte TC_ENDBLOCKDATA = (byte)120; //0x78
/**
* Token value to designate a reset of the stream state.
*/
byte TC_RESET = (byte)121; //0x79
/**
* Token value to designate a long block of primitive data is next in the
* stream. The next long in the stream holds the size of the block
* (in bytes).
* (in bytes).
*/
byte TC_BLOCKDATALONG = (byte)122; //0x7A
/**
* Token value to designate an exception occured during serialization.
*/
byte TC_EXCEPTION = (byte)123; //0x7B
/**
* Token value to designate a long string is next in the stream.
*/
byte TC_LONGSTRING = (byte)124; //0x7C
/**
* Token value to designate a proxy class descriptor is next in the stream.
*/
@@ -155,16 +155,16 @@ public interface ObjectStreamConstants
/**
* Token value to designate an enum constant is next in the stream.
*
*
* @since 1.5
*/
byte TC_ENUM = (byte)126; //0x7E
/**
* The first token value.
*/
byte TC_BASE = TC_NULL;
/**
* The last token value.
*/
@@ -180,23 +180,23 @@ public interface ObjectStreamConstants
* defines the <code>writeObject</code> method.
*/
byte SC_WRITE_METHOD = 0x01;
/**
* Flag used in <code>ObjectStreamClass</code> to designate that the class
* is serializeable.
*/
byte SC_SERIALIZABLE = 0x02;
/**
* Flag used in <code>ObjectStreamClass</code> to designate that the class
* is externalizable.
*/
byte SC_EXTERNALIZABLE = 0x04;
/**
* Flag used in <code>ObjectStreamClass</code> to designate that
* externalizable data is written in block data mode.
*
*
* @since 1.2
*/
byte SC_BLOCK_DATA = 0x08;
@@ -204,11 +204,11 @@ public interface ObjectStreamConstants
/**
* Flag used in <code>ObjectStreamClass</code> to designate that the class
* is an enum constant.
*
*
* @since 1.5
*/
byte SC_ENUM = 0x10;
/**
* Constant for use with a <code>SecurityManager</code> to check if
* substitution of objects is allowed.
@@ -224,4 +224,3 @@ public interface ObjectStreamConstants
SerializablePermission SUBCLASS_IMPLEMENTATION_PERMISSION
= new SerializablePermission("enableSubclassImplementation");
}
@@ -7,7 +7,7 @@ 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
@@ -55,7 +55,7 @@ import java.security.PrivilegedAction;
* @author Michael Koch (konqueror@gmx.de)
* @author Andrew John Hughes (gnu_andrew@member.fsf.org)
*/
public class ObjectStreamField
public class ObjectStreamField
implements Comparable<Object>
{
private String name;
@@ -74,7 +74,7 @@ public class ObjectStreamField
}
/**
* This constructor creates an ObjectStreamField instance
* This constructor creates an ObjectStreamField instance
* which represents a field named <code>name</code> and is
* of the type <code>type</code>.
*
@@ -87,7 +87,7 @@ public class ObjectStreamField
}
/**
* This constructor creates an ObjectStreamField instance
* This constructor creates an ObjectStreamField instance
* which represents a field named <code>name</code> and is
* of the type <code>type</code>.
*
@@ -105,9 +105,9 @@ public class ObjectStreamField
this.typename = TypeSignature.getEncodingOfClass(type);
this.unshared = unshared;
}
/**
* There are many cases you can not get java.lang.Class from typename
* There are many cases you can not get java.lang.Class from typename
* if your context class loader cannot load it, then use typename to
* construct the field.
*
@@ -130,7 +130,7 @@ public class ObjectStreamField
{
}
}
/**
* This method returns the name of the field represented by the
* ObjectStreamField instance.
@@ -169,7 +169,7 @@ public class ObjectStreamField
* {@link #getTypeCode()} in the case the type is a real
* class (and not a primitive).
*
* @return The name of the type (class name) if it is not a
* @return The name of the type (class name) if it is not a
* primitive, in the other case null is returned.
*/
public String getTypeString ()
@@ -195,7 +195,7 @@ public class ObjectStreamField
/**
* This method sets the current offset of the field.
*
*
* @param off The offset of the field in bytes.
* @see #getOffset()
*/
@@ -255,7 +255,7 @@ public class ObjectStreamField
* the field should not be changed when the stream is read (if it is not
* explicitly specified using serialPersistentFields).
*
* @param persistent True if the field is persistent, false in the
* @param persistent True if the field is persistent, false in the
* other cases.
* @see #isPersistent()
*/
@@ -276,7 +276,7 @@ public class ObjectStreamField
}
/**
* This method is specific to classpath's implementation and so
* This method is specific to classpath's implementation and so
* has the default access. It changes the state of this field as
* to be set by ObjectInputStream.
*
@@ -312,16 +312,16 @@ public class ObjectStreamField
void lookupField(Class clazz) throws NoSuchFieldException, SecurityException
{
final Field f = clazz.getDeclaredField(name);
AccessController.doPrivileged(new PrivilegedAction()
{
public Object run()
{
f.setAccessible(true);
return null;
}
public Object run()
{
f.setAccessible(true);
return null;
}
});
this.field = f;
}
@@ -340,8 +340,8 @@ public class ObjectStreamField
if (!ftype.isAssignableFrom(type))
throw new InvalidClassException
("invalid field type for " + name +
" in class " + field.getDeclaringClass());
("invalid field type for " + name +
" in class " + field.getDeclaringClass());
}
/**
@@ -356,19 +356,19 @@ public class ObjectStreamField
final void setBooleanField(Object obj, boolean val)
{
VMObjectStreamClass.setBooleanNative(field, obj, val);
VMObjectStreamClass.setBooleanNative(field, obj, val);
}
final void setByteField(Object obj, byte val)
{
VMObjectStreamClass.setByteNative(field, obj, val);
}
final void setCharField(Object obj, char val)
{
VMObjectStreamClass.setCharNative(field, obj, val);
}
final void setShortField(Object obj, short val)
{
VMObjectStreamClass.setShortNative(field, obj, val);
@@ -378,24 +378,24 @@ public class ObjectStreamField
{
VMObjectStreamClass.setIntNative(field, obj, val);
}
final void setLongField(Object obj, long val)
{
VMObjectStreamClass.setLongNative(field, obj, val);
}
final void setFloatField(Object obj, float val)
{
VMObjectStreamClass.setFloatNative(field, obj, val);
}
final void setDoubleField(Object obj, double val)
{
VMObjectStreamClass.setDoubleNative(field, obj, val);
}
final void setObjectField(Object obj, Object val)
{
{
VMObjectStreamClass.setObjectNative(field, obj, val);
}
}
+5 -5
View File
@@ -7,7 +7,7 @@ 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
@@ -39,10 +39,10 @@ exception statement from your version. */
package java.io;
/**
* This abstract class forms the base of the hierarchy of classes that
* This abstract class forms the base of the hierarchy of classes that
* write output as a stream of bytes. It provides a common set of methods
* for writing bytes to stream. Subclasses implement and/or extend these
* methods to write bytes in a particular manner or to a particular
* methods to write bytes in a particular manner or to a particular
* destination such as a file on disk or network connection.
*
* @author Aaron M. Renn (arenn@urbanophile.com)
@@ -65,7 +65,7 @@ public abstract class OutputStream implements Closeable, Flushable
* Subclasses must provide an implementation of this abstract method
*
* @param b The byte to be written to the output stream, passed as
* the low eight bits of an <code>int</code>
* the low eight bits of an <code>int</code>
*
* @exception IOException If an error occurs
*/
@@ -98,7 +98,7 @@ public abstract class OutputStream implements Closeable, Flushable
* @param b The array of bytes to write from
* @param off The index into the array to start writing from
* @param len The number of bytes to write
*
*
* @exception IOException If an error occurs
*/
public void write (byte[] b, int off, int len)
+129 -130
View File
@@ -7,7 +7,7 @@ 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
@@ -79,7 +79,7 @@ import java.nio.charset.MalformedInputException;
*
* @author Aaron M. Renn (arenn@urbanophile.com)
* @author Per Bothner (bothner@cygnus.com)
* @date April 17, 1998.
* @date April 17, 1998.
*/
public class OutputStreamWriter extends Writer
{
@@ -111,13 +111,13 @@ public class OutputStreamWriter extends Writer
* design, there is no way to determine which encodings are supported.
*
* @param out The <code>OutputStream</code> to write to
* @param encoding_scheme The name of the encoding scheme to use for
* @param encoding_scheme The name of the encoding scheme to use for
* character to byte translation
*
* @exception UnsupportedEncodingException If the named encoding is
* @exception UnsupportedEncodingException If the named encoding is
* not available.
*/
public OutputStreamWriter (OutputStream out, String encoding_scheme)
public OutputStreamWriter (OutputStream out, String encoding_scheme)
throws UnsupportedEncodingException
{
CharsetEncoder encoder;
@@ -125,58 +125,58 @@ public class OutputStreamWriter extends Writer
this.out = out;
outputBuffer = CharBuffer.allocate(BUFFER_SIZE);
try
try
{
// Don't use NIO if avoidable
if(EncodingHelper.isISOLatin1(encoding_scheme))
{
encodingName = "ISO8859_1";
encoder = null;
}
// Don't use NIO if avoidable
if(EncodingHelper.isISOLatin1(encoding_scheme))
{
encodingName = "ISO8859_1";
encoder = null;
}
else
{
/*
* Workaround for encodings with a byte-order-mark.
* We only want to write it once per stream.
*/
try
{
if(encoding_scheme.equalsIgnoreCase("UnicodeBig") ||
encoding_scheme.equalsIgnoreCase("UTF-16") ||
encoding_scheme.equalsIgnoreCase("UTF16"))
{
encoding_scheme = "UTF-16BE";
out.write((byte)0xFE);
out.write((byte)0xFF);
}
else if(encoding_scheme.equalsIgnoreCase("UnicodeLittle"))
{
encoding_scheme = "UTF-16LE";
out.write((byte)0xFF);
out.write((byte)0xFE);
}
}
catch(IOException ioe)
{
}
Charset cs = EncodingHelper.getCharset(encoding_scheme);
if(cs == null)
throw new UnsupportedEncodingException("Encoding "+encoding_scheme+
" unknown");
encoder = cs.newEncoder();
encodingName = EncodingHelper.getOldCanonical(cs.name());
encoder.onMalformedInput(CodingErrorAction.REPLACE);
encoder.onUnmappableCharacter(CodingErrorAction.REPLACE);
}
}
catch(RuntimeException e)
{
/*
* Workaround for encodings with a byte-order-mark.
* We only want to write it once per stream.
*/
try
{
if(encoding_scheme.equalsIgnoreCase("UnicodeBig") ||
encoding_scheme.equalsIgnoreCase("UTF-16") ||
encoding_scheme.equalsIgnoreCase("UTF16"))
{
encoding_scheme = "UTF-16BE";
out.write((byte)0xFE);
out.write((byte)0xFF);
}
else if(encoding_scheme.equalsIgnoreCase("UnicodeLittle"))
{
encoding_scheme = "UTF-16LE";
out.write((byte)0xFF);
out.write((byte)0xFE);
}
}
catch(IOException ioe)
{
}
Charset cs = EncodingHelper.getCharset(encoding_scheme);
if(cs == null)
throw new UnsupportedEncodingException("Encoding "+encoding_scheme+
" unknown");
encoder = cs.newEncoder();
encodingName = EncodingHelper.getOldCanonical(cs.name());
encoder.onMalformedInput(CodingErrorAction.REPLACE);
encoder.onUnmappableCharacter(CodingErrorAction.REPLACE);
}
}
catch(RuntimeException e)
{
// Default to ISO Latin-1, will happen if this is called, for instance,
// before the NIO provider is loadable.
encoder = null;
encodingName = "ISO8859_1";
// Default to ISO Latin-1, will happen if this is called, for instance,
// before the NIO provider is loadable.
encoder = null;
encodingName = "ISO8859_1";
}
this.encoder = encoder;
this.encodingName = encodingName;
@@ -194,23 +194,23 @@ public class OutputStreamWriter extends Writer
String encodingName;
this.out = out;
outputBuffer = CharBuffer.allocate(BUFFER_SIZE);
try
try
{
String encoding = System.getProperty("file.encoding");
Charset cs = Charset.forName(encoding);
encoder = cs.newEncoder();
encodingName = EncodingHelper.getOldCanonical(cs.name());
}
catch(RuntimeException e)
String encoding = System.getProperty("file.encoding");
Charset cs = Charset.forName(encoding);
encoder = cs.newEncoder();
encodingName = EncodingHelper.getOldCanonical(cs.name());
}
catch(RuntimeException e)
{
encoder = null;
encodingName = "ISO8859_1";
encoder = null;
encodingName = "ISO8859_1";
}
if(encoder != null)
{
encoder.onMalformedInput(CodingErrorAction.REPLACE);
encoder.onUnmappableCharacter(CodingErrorAction.REPLACE);
encoder.onMalformedInput(CodingErrorAction.REPLACE);
encoder.onUnmappableCharacter(CodingErrorAction.REPLACE);
}
this.encoder = encoder;
this.encodingName = encodingName;
@@ -222,7 +222,7 @@ public class OutputStreamWriter extends Writer
*
* @param out The <code>OutputStream</code> to write to
* @param cs The <code>Charset</code> of the encoding to use
*
*
* @since 1.5
*/
public OutputStreamWriter(OutputStream out, Charset cs)
@@ -234,7 +234,7 @@ public class OutputStreamWriter extends Writer
outputBuffer = CharBuffer.allocate(BUFFER_SIZE);
encodingName = EncodingHelper.getOldCanonical(cs.name());
}
/**
* This method initializes a new instance of <code>OutputStreamWriter</code>
* to write to the specified stream using a given
@@ -242,7 +242,7 @@ public class OutputStreamWriter extends Writer
*
* @param out The <code>OutputStream</code> to write to
* @param enc The <code>CharsetEncoder</code> to encode the output with
*
*
* @since 1.5
*/
public OutputStreamWriter(OutputStream out, CharsetEncoder enc)
@@ -258,7 +258,7 @@ public class OutputStreamWriter extends Writer
}
/**
* This method closes this stream, and the underlying
* This method closes this stream, and the underlying
* <code>OutputStream</code>
*
* @exception IOException If an error occurs
@@ -291,17 +291,17 @@ public class OutputStreamWriter extends Writer
*/
public void flush () throws IOException
{
if(out != null){
if(outputBuffer != null){
char[] buf = new char[outputBuffer.position()];
if(buf.length > 0){
outputBuffer.flip();
outputBuffer.get(buf);
writeConvert(buf, 0, buf.length);
outputBuffer.clear();
}
}
out.flush ();
if(out != null){
if(outputBuffer != null){
char[] buf = new char[outputBuffer.position()];
if(buf.length > 0){
outputBuffer.flip();
outputBuffer.get(buf);
writeConvert(buf, 0, buf.length);
outputBuffer.clear();
}
}
out.flush ();
}
}
@@ -324,71 +324,71 @@ public class OutputStreamWriter extends Writer
throw new IOException("Buffer is null.");
if(outputBuffer != null)
{
if(count >= outputBuffer.remaining())
{
int r = outputBuffer.remaining();
outputBuffer.put(buf, offset, r);
writeConvert(outputBuffer.array(), 0, BUFFER_SIZE);
outputBuffer.clear();
offset += r;
count -= r;
// if the remaining bytes is larger than the whole buffer,
// just don't buffer.
if(count >= outputBuffer.remaining()){
{
if(count >= outputBuffer.remaining())
{
int r = outputBuffer.remaining();
outputBuffer.put(buf, offset, r);
writeConvert(outputBuffer.array(), 0, BUFFER_SIZE);
outputBuffer.clear();
offset += r;
count -= r;
// if the remaining bytes is larger than the whole buffer,
// just don't buffer.
if(count >= outputBuffer.remaining()){
writeConvert(buf, offset, count);
return;
}
}
outputBuffer.put(buf, offset, count);
} else writeConvert(buf, offset, count);
return;
}
}
outputBuffer.put(buf, offset, count);
} else writeConvert(buf, offset, count);
}
/**
* Converts and writes characters.
*/
private void writeConvert (char[] buf, int offset, int count)
private void writeConvert (char[] buf, int offset, int count)
throws IOException
{
if(encoder == null)
{
byte[] b = new byte[count];
for(int i=0;i<count;i++)
b[i] = nullConversion(buf[offset+i]);
b[i] = nullConversion(buf[offset+i]);
out.write(b);
} else {
try {
ByteBuffer output = encoder.encode(CharBuffer.wrap(buf,offset,count));
encoder.reset();
if(output.hasArray())
out.write(output.array());
else
{
byte[] outbytes = new byte[output.remaining()];
output.get(outbytes);
out.write(outbytes);
}
ByteBuffer output = encoder.encode(CharBuffer.wrap(buf,offset,count));
encoder.reset();
if(output.hasArray())
out.write(output.array());
else
{
byte[] outbytes = new byte[output.remaining()];
output.get(outbytes);
out.write(outbytes);
}
} catch(IllegalStateException e) {
throw new IOException("Internal error.");
throw new IOException("Internal error.");
} catch(MalformedInputException e) {
throw new IOException("Invalid character sequence.");
throw new IOException("Invalid character sequence.");
} catch(CharacterCodingException e) {
throw new IOException("Unmappable character.");
throw new IOException("Unmappable character.");
}
}
}
private byte nullConversion(char c) {
return (byte)((c <= 0xFF)?c:'?');
return (byte)((c <= 0xFF)?c:'?');
}
/**
* This method writes <code>count</code> bytes from the specified
* This method writes <code>count</code> bytes from the specified
* <code>String</code> starting at position <code>offset</code> into the
* <code>String</code>.
*
* @param str The <code>String</code> to write chars from
* @param offset The position in the <code>String</code> to start
* @param offset The position in the <code>String</code> to start
* writing chars from
* @param count The number of chars to write
*
@@ -411,20 +411,19 @@ public class OutputStreamWriter extends Writer
*/
public void write (int ch) throws IOException
{
// No buffering, no encoding ... just pass through
if (encoder == null && outputBuffer == null) {
out.write(nullConversion((char)ch));
} else {
if (outputBuffer != null) {
if (outputBuffer.remaining() == 0) {
writeConvert(outputBuffer.array(), 0, BUFFER_SIZE);
outputBuffer.clear();
}
outputBuffer.put((char)ch);
} else {
writeConvert(new char[]{ (char)ch }, 0, 1);
}
}
// No buffering, no encoding ... just pass through
if (encoder == null && outputBuffer == null) {
out.write(nullConversion((char)ch));
} else {
if (outputBuffer != null) {
if (outputBuffer.remaining() == 0) {
writeConvert(outputBuffer.array(), 0, BUFFER_SIZE);
outputBuffer.clear();
}
outputBuffer.put((char)ch);
} else {
writeConvert(new char[]{ (char)ch }, 0, 1);
}
}
}
} // class OutputStreamWriter
+106 -107
View File
@@ -7,7 +7,7 @@ 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
@@ -37,21 +37,21 @@ exception statement from your version. */
package java.io;
// NOTE: This implementation is very similar to that of PipedReader. If you
// fix a bug in here, chances are you should make a similar change to the
// NOTE: This implementation is very similar to that of PipedReader. If you
// fix a bug in here, chances are you should make a similar change to the
// PipedReader code.
/**
* An input stream that reads its bytes from an output stream
* to which it is connected.
* to which it is connected.
* <p>
* Data is read and written to an internal buffer. It is highly recommended
* that the <code>PipedInputStream</code> and connected
* that the <code>PipedInputStream</code> and connected
* <code>PipedOutputStream</code>
* be part of different threads. If they are not, the read and write
* be part of different threads. If they are not, the read and write
* operations could deadlock their thread.
*
* @specnote The JDK implementation appears to have some undocumented
* @specnote The JDK implementation appears to have some undocumented
* functionality where it keeps track of what thread is writing
* to pipe and throws an IOException if that thread susequently
* dies. This behaviour seems dubious and unreliable - we don't
@@ -61,7 +61,7 @@ package java.io;
*/
public class PipedInputStream extends InputStream
{
/** PipedOutputStream to which this is connected. Null only if this
/** PipedOutputStream to which this is connected. Null only if this
* InputStream hasn't been connected yet. */
PipedOutputStream source;
@@ -86,7 +86,7 @@ public class PipedInputStream extends InputStream
/**
* The index into buffer where the next byte from the connected
* <code>PipedOutputStream</code> will be written. If this variable is
* <code>PipedOutputStream</code> will be written. If this variable is
* equal to <code>out</code>, then the buffer is full. If set to < 0,
* the buffer is empty.
*/
@@ -101,8 +101,8 @@ public class PipedInputStream extends InputStream
private byte[] read_buf = new byte[1];
/**
* Creates a new <code>PipedInputStream</code> that is not connected to a
* <code>PipedOutputStream</code>. It must be connected before bytes can
* Creates a new <code>PipedInputStream</code> that is not connected to a
* <code>PipedOutputStream</code>. It must be connected before bytes can
* be read from this stream.
*/
public PipedInputStream()
@@ -114,24 +114,24 @@ public class PipedInputStream extends InputStream
* Creates a new <code>PipedInputStream</code> of the given size that is not
* connected to a <code>PipedOutputStream</code>.
* It must be connected before bytes can be read from this stream.
*
*
* @since 1.6
* @since IllegalArgumentException If pipeSize <= 0.
*/
public PipedInputStream(int pipeSize) throws IllegalArgumentException
public PipedInputStream(int pipeSize) throws IllegalArgumentException
{
if (pipeSize <= 0)
throw new IllegalArgumentException("pipeSize must be > 0");
this.buffer = new byte[pipeSize];
}
/**
* This constructor creates a new <code>PipedInputStream</code> and connects
* it to the passed in <code>PipedOutputStream</code>. The stream is then
* it to the passed in <code>PipedOutputStream</code>. The stream is then
* ready for reading.
*
* @param source The <code>PipedOutputStream</code> to connect this
* @param source The <code>PipedOutputStream</code> to connect this
* stream to
*
* @exception IOException If <code>source</code> is already connected.
@@ -147,7 +147,7 @@ public class PipedInputStream extends InputStream
* size and connects it to the passed in <code>PipedOutputStream</code>.
* The stream is then ready for reading.
*
* @param source The <code>PipedOutputStream</code> to connect this
* @param source The <code>PipedOutputStream</code> to connect this
* stream to
*
* @since 1.6
@@ -159,30 +159,30 @@ public class PipedInputStream extends InputStream
this(pipeSize);
connect(source);
}
/**
* This method connects this stream to the passed in
* This method connects this stream to the passed in
* <code>PipedOutputStream</code>.
* This stream is then ready for reading. If this stream is already
* connected or has been previously closed, then an exception is thrown
*
* @param source The <code>PipedOutputStream</code> to connect this stream to
*
* @exception IOException If this PipedInputStream or <code>source</code>
* @exception IOException If this PipedInputStream or <code>source</code>
* has been connected already.
*/
public void connect(PipedOutputStream source) throws IOException
{
// The JDK (1.3) does not appear to check for a previously closed
// The JDK (1.3) does not appear to check for a previously closed
// connection here.
if (this.source != null || source.sink != null)
throw new IOException ("Already connected");
source.sink = this;
this.source = source;
}
/**
* This method receives a byte of input from the source PipedOutputStream.
* If the internal circular buffer is full, this method blocks.
@@ -210,7 +210,7 @@ public class PipedInputStream extends InputStream
* @specnote This code should be in PipedOutputStream.write, but we
* put it here in order to support that bizarre recieve(int)
* method.
*/
*/
synchronized void receive(byte[] buf, int offset, int len)
throws IOException
{
@@ -219,59 +219,59 @@ public class PipedInputStream extends InputStream
int bufpos = offset;
int copylen;
while (len > 0)
{
try
{
while (in == out)
{
// The pipe is full. Wake up any readers and wait for them.
notifyAll();
wait();
// The pipe could have been closed while we were waiting.
if (closed)
throw new IOException ("Pipe closed");
}
}
catch (InterruptedException ix)
{
{
while (in == out)
{
// The pipe is full. Wake up any readers and wait for them.
notifyAll();
wait();
// The pipe could have been closed while we were waiting.
if (closed)
throw new IOException ("Pipe closed");
}
}
catch (InterruptedException ix)
{
throw new InterruptedIOException ();
}
}
if (in < 0) // The pipe is empty.
in = 0;
// Figure out how many bytes from buf can be copied without
// overrunning out or going past the length of the buffer.
if (in < out)
copylen = Math.min (len, out - in);
else
copylen = Math.min (len, buffer.length - in);
if (in < 0) // The pipe is empty.
in = 0;
// Copy bytes until the pipe is filled, wrapping if necessary.
System.arraycopy(buf, bufpos, buffer, in, copylen);
len -= copylen;
bufpos += copylen;
in += copylen;
if (in == buffer.length)
in = 0;
// Figure out how many bytes from buf can be copied without
// overrunning out or going past the length of the buffer.
if (in < out)
copylen = Math.min (len, out - in);
else
copylen = Math.min (len, buffer.length - in);
// Copy bytes until the pipe is filled, wrapping if necessary.
System.arraycopy(buf, bufpos, buffer, in, copylen);
len -= copylen;
bufpos += copylen;
in += copylen;
if (in == buffer.length)
in = 0;
}
// Notify readers that new data is in the pipe.
notifyAll();
}
/**
* This method reads one byte from the stream.
* -1 is returned to indicated that no bytes can be read
* because the end of the stream was reached. If the stream is already
* closed, a -1 will again be returned to indicate the end of the stream.
*
*
* <p>This method will block if no byte is available to be read.</p>
*
* @return the value of the read byte value, or -1 of the end of the stream
* was reached
*
*
* @throws IOException if an error occured
*/
public int read() throws IOException
@@ -285,14 +285,14 @@ public class PipedInputStream extends InputStream
int r = read(read_buf, 0, 1);
return r != -1 ? (read_buf[0] & 0xff) : -1;
}
/**
* This method reads bytes from the stream into a caller supplied buffer.
* It starts storing bytes at position <code>offset</code> into the
* It starts storing bytes at position <code>offset</code> into the
* buffer and
* reads a maximum of <code>len</code> bytes. Note that this method
* reads a maximum of <code>len</code> bytes. Note that this method
* can actually
* read fewer than <code>len</code> bytes. The actual number of bytes
* read fewer than <code>len</code> bytes. The actual number of bytes
* read is
* returned. A -1 is returned to indicated that no bytes can be read
* because the end of the stream was reached - ie close() was called on the
@@ -306,7 +306,7 @@ public class PipedInputStream extends InputStream
*
* @exception IOException If <code>close()</code> was called on this Piped
* InputStream.
*/
*/
public synchronized int read(byte[] buf, int offset, int len)
throws IOException
{
@@ -319,61 +319,61 @@ public class PipedInputStream extends InputStream
if (len == 0)
return 0;
// If the buffer is empty, wait until there is something in the pipe
// If the buffer is empty, wait until there is something in the pipe
// to read.
try
{
while (in < 0)
{
if (source.closed)
return -1;
wait();
}
while (in < 0)
{
if (source.closed)
return -1;
wait();
}
}
catch (InterruptedException ix)
{
throw new InterruptedIOException();
}
int total = 0;
int copylen;
while (true)
{
// Figure out how many bytes from the pipe can be copied without
// overrunning in or going past the length of buf.
if (out < in)
copylen = Math.min (len, in - out);
else
copylen = Math.min (len, buffer.length - out);
// Figure out how many bytes from the pipe can be copied without
// overrunning in or going past the length of buf.
if (out < in)
copylen = Math.min (len, in - out);
else
copylen = Math.min (len, buffer.length - out);
System.arraycopy (buffer, out, buf, offset, copylen);
offset += copylen;
len -= copylen;
out += copylen;
total += copylen;
if (out == buffer.length)
out = 0;
if (out == in)
{
// Pipe is now empty.
in = -1;
out = 0;
}
offset += copylen;
len -= copylen;
out += copylen;
total += copylen;
if (out == buffer.length)
out = 0;
if (out == in)
{
// Pipe is now empty.
in = -1;
out = 0;
}
// If output buffer is filled or the pipe is empty, we're done.
if (len == 0 || in == -1)
{
// Notify any waiting outputstream that there is now space
// to write.
notifyAll();
return total;
}
if (len == 0 || in == -1)
{
// Notify any waiting outputstream that there is now space
// to write.
notifyAll();
return total;
}
}
}
/**
* This method returns the number of bytes that can be read from this stream
* before blocking could occur. This is the number of bytes that are
@@ -384,12 +384,12 @@ public class PipedInputStream extends InputStream
* @return The number of bytes that can be read before blocking might occur
*
* @exception IOException If an error occurs
*/
*/
public synchronized int available() throws IOException
{
// The JDK 1.3 implementation does not appear to check for the closed or
// The JDK 1.3 implementation does not appear to check for the closed or
// unconnected stream conditions here.
if (in < 0)
return 0;
else if (out < in)
@@ -397,7 +397,7 @@ public class PipedInputStream extends InputStream
else
return (buffer.length - out) + in;
}
/**
* This methods closes the stream so that no more data can be read
* from it.
@@ -411,4 +411,3 @@ public class PipedInputStream extends InputStream
notifyAll();
}
}
@@ -7,7 +7,7 @@ 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
@@ -38,16 +38,16 @@ exception statement from your version. */
package java.io;
// NOTE: This implementation is very similar to that of PipedWriter. If you
// fix a bug in here, chances are you should make a similar change to the
// NOTE: This implementation is very similar to that of PipedWriter. If you
// fix a bug in here, chances are you should make a similar change to the
// PipedWriter code.
/**
* This class writes its bytes to a <code>PipedInputStream</code> to
* This class writes its bytes to a <code>PipedInputStream</code> to
* which it is connected.
* <p>
* It is highly recommended that a <code>PipedOutputStream</code> and its
* connected <code>PipedInputStream</code> be in different threads. If
* connected <code>PipedInputStream</code> be in different threads. If
* they are in the same thread, read and write operations could deadlock
* the thread.
*
@@ -55,14 +55,14 @@ package java.io;
*/
public class PipedOutputStream extends OutputStream
{
/** Target PipedInputStream to which this is connected. Null only if this
/** Target PipedInputStream to which this is connected. Null only if this
* OutputStream hasn't been connected yet. */
PipedInputStream sink;
/** Set to true if close() has been called on this OutputStream. */
boolean closed;
/**
/**
* Create an unconnected PipedOutputStream. It must be connected
* to a <code>PipedInputStream</code> using the <code>connect</code>
* method prior to writing any data or an exception will be thrown.
@@ -78,7 +78,7 @@ public class PipedOutputStream extends OutputStream
*
* @param sink The <code>PipedInputStream</code> to connect this stream to.
*
* @exception IOException If <code>sink</code> has already been connected
* @exception IOException If <code>sink</code> has already been connected
* to a different PipedOutputStream.
*/
public PipedOutputStream(PipedInputStream sink) throws IOException
@@ -87,7 +87,7 @@ public class PipedOutputStream extends OutputStream
}
/**
* Connects this object to the specified <code>PipedInputStream</code>
* Connects this object to the specified <code>PipedInputStream</code>
* object. This stream will then be ready for writing.
*
* @param sink The <code>PipedInputStream</code> to connect this stream to
@@ -103,29 +103,29 @@ public class PipedOutputStream extends OutputStream
}
/**
* Write a single byte of date to the stream. Note that this method will
* block if the <code>PipedInputStream</code> to which this object is
* Write a single byte of date to the stream. Note that this method will
* block if the <code>PipedInputStream</code> to which this object is
* connected has a full buffer.
*
* @param b The byte of data to be written, passed as an <code>int</code>.
*
* @exception IOException If the stream has not been connected or has
* been closed.
*/
*/
public void write(int b) throws IOException
{
if (sink == null)
throw new IOException ("Not connected");
if (closed)
throw new IOException ("Pipe closed");
sink.receive (b);
}
/**
* This method writes <code>len</code> bytes of data from the byte array
* <code>buf</code> starting at index <code>offset</code> in the array
* to the stream. Note that this method will block if the
* to the stream. Note that this method will block if the
* <code>PipedInputStream</code> to which this object is connected has
* a buffer that cannot hold all of the bytes to be written.
*
@@ -142,7 +142,7 @@ public class PipedOutputStream extends OutputStream
throw new IOException ("Not connected");
if (closed)
throw new IOException ("Pipe closed");
sink.receive(buffer, offset, len);
}
@@ -157,7 +157,7 @@ public class PipedOutputStream extends OutputStream
public void flush() throws IOException
{
}
/**
* This method closes this stream so that no more data can be written
* to it. Any further attempts to write to this stream may throw an
@@ -170,12 +170,12 @@ public class PipedOutputStream extends OutputStream
// A close call on an unconnected PipedOutputStream has no effect.
if (sink != null)
{
closed = true;
// Notify any waiting readers that the stream is now closed.
synchronized (sink)
{
sink.notifyAll();
}
closed = true;
// Notify any waiting readers that the stream is now closed.
synchronized (sink)
{
sink.notifyAll();
}
}
}
}
+108 -109
View File
@@ -7,7 +7,7 @@ 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
@@ -37,20 +37,20 @@ exception statement from your version. */
package java.io;
// NOTE: This implementation is very similar to that of PipedInputStream.
// If you fix a bug in here, chances are you should make a similar change to
// NOTE: This implementation is very similar to that of PipedInputStream.
// If you fix a bug in here, chances are you should make a similar change to
// the PipedInputStream code.
/**
* An input stream that reads characters from a piped writer to which it is
* connected.
* An input stream that reads characters from a piped writer to which it is
* connected.
* <p>
* Data is read and written to an internal buffer. It is highly recommended
* that the <code>PipedReader</code> and connected <code>PipedWriter</code>
* be part of different threads. If they are not, there is a possibility
* that the read and write operations could deadlock their thread.
*
* @specnote The JDK implementation appears to have some undocumented
* @specnote The JDK implementation appears to have some undocumented
* functionality where it keeps track of what thread is writing
* to pipe and throws an IOException if that thread susequently
* dies. This behaviour seems dubious and unreliable - we don't
@@ -60,7 +60,7 @@ package java.io;
*/
public class PipedReader extends Reader
{
/** PipedWriter to which this is connected. Null only if this
/** PipedWriter to which this is connected. Null only if this
* Reader hasn't been connected yet. */
PipedWriter source;
@@ -80,7 +80,7 @@ public class PipedReader extends Reader
/**
* The index into buffer where the next char from the connected
* <code>PipedWriter</code> will be written. If this variable is
* <code>PipedWriter</code> will be written. If this variable is
* equal to <code>out</code>, then the buffer is full. If set to < 0,
* the buffer is empty.
*/
@@ -95,8 +95,8 @@ public class PipedReader extends Reader
char[] read_buf = new char[1];
/**
* Creates a new <code>PipedReader</code> that is not connected to a
* <code>PipedWriter</code>. It must be connected before chars can
* Creates a new <code>PipedReader</code> that is not connected to a
* <code>PipedWriter</code>. It must be connected before chars can
* be read from this stream.
*/
public PipedReader()
@@ -105,7 +105,7 @@ public class PipedReader extends Reader
/**
* This constructor creates a new <code>PipedReader</code> and connects
* it to the passed in <code>PipedWriter</code>. The stream is then
* it to the passed in <code>PipedWriter</code>. The stream is then
* ready for reading.
*
* @param source The <code>PipedWriter</code> to connect this stream to
@@ -118,28 +118,28 @@ public class PipedReader extends Reader
}
/**
* This method connects this stream to the passed in
* This method connects this stream to the passed in
* <code>PipedWriter</code>.
* This stream is then ready for reading. If this stream is already
* connected or has been previously closed, then an exception is thrown
*
* @param source The <code>PipedWriter</code> to connect this stream to
*
* @exception IOException If this PipedReader or <code>source</code>
* @exception IOException If this PipedReader or <code>source</code>
* has been connected already.
*/
public void connect(PipedWriter source) throws IOException
{
// The JDK (1.3) does not appear to check for a previously closed
// The JDK (1.3) does not appear to check for a previously closed
// connection here.
if (this.source != null || source.sink != null)
throw new IOException ("Already connected");
source.sink = this;
this.source = source;
}
/**
* This method is used by the connected <code>PipedWriter</code> to
* write chars into the buffer.
@@ -152,67 +152,67 @@ public class PipedReader extends Reader
* @specnote This code should be in PipedWriter.write, but we
* put it here in order to support that bizarre recieve(int)
* method.
*/
*/
void receive(char[] buf, int offset, int len)
throws IOException
{
synchronized (lock)
{
if (closed)
throw new IOException ("Pipe closed");
throw new IOException ("Pipe closed");
int bufpos = offset;
int copylen;
while (len > 0)
{
{
try
{
while (in == out)
{
// The pipe is full. Wake up any readers and wait for them.
lock.notifyAll();
lock.wait();
// The pipe could have been closed while we were waiting.
if (closed)
throw new IOException ("Pipe closed");
}
}
catch (InterruptedException ix)
{
{
while (in == out)
{
// The pipe is full. Wake up any readers and wait for them.
lock.notifyAll();
lock.wait();
// The pipe could have been closed while we were waiting.
if (closed)
throw new IOException ("Pipe closed");
}
}
catch (InterruptedException ix)
{
throw new InterruptedIOException ();
}
}
if (in < 0) // The pipe is empty.
in = 0;
if (in < 0) // The pipe is empty.
in = 0;
// Figure out how many chars from buf can be copied without
// overrunning out or going past the length of the buffer.
if (in < out)
copylen = Math.min (len, out - in);
else
copylen = Math.min (len, buffer.length - in);
// Figure out how many chars from buf can be copied without
// overrunning out or going past the length of the buffer.
if (in < out)
copylen = Math.min (len, out - in);
else
copylen = Math.min (len, buffer.length - in);
// Copy chars until the pipe is filled, wrapping if necessary.
System.arraycopy(buf, bufpos, buffer, in, copylen);
len -= copylen;
bufpos += copylen;
in += copylen;
if (in == buffer.length)
in = 0;
}
// Copy chars until the pipe is filled, wrapping if necessary.
System.arraycopy(buf, bufpos, buffer, in, copylen);
len -= copylen;
bufpos += copylen;
in += copylen;
if (in == buffer.length)
in = 0;
}
// Notify readers that new data is in the pipe.
lock.notifyAll();
}
}
/**
* This method reads chars from the stream into a caller supplied buffer.
* It starts storing chars at position <code>offset</code> into the
* It starts storing chars at position <code>offset</code> into the
* buffer and
* reads a maximum of <code>len</code> chars. Note that this method
* reads a maximum of <code>len</code> chars. Note that this method
* can actually
* read fewer than <code>len</code> chars. The actual number of chars
* read fewer than <code>len</code> chars. The actual number of chars
* read is
* returned. A -1 is returned to indicated that no chars can be read
* because the end of the stream was reached. If the stream is already
@@ -231,12 +231,12 @@ public class PipedReader extends Reader
int r = read(read_buf, 0, 1);
return r != -1 ? read_buf[0] : -1;
}
/**
* This method reads characters from the stream into a caller supplied
* buffer. It starts storing chars at position <code>offset</code> into
* the buffer and reads a maximum of <code>len</code> chars. Note that
* this method can actually read fewer than <code>len</code> chars.
* This method reads characters from the stream into a caller supplied
* buffer. It starts storing chars at position <code>offset</code> into
* the buffer and reads a maximum of <code>len</code> chars. Note that
* this method can actually read fewer than <code>len</code> chars.
* The actual number of chars read is
* returned. A -1 is returned to indicated that no chars can be read
* because the end of the stream was reached - ie close() was called on the
@@ -250,102 +250,102 @@ public class PipedReader extends Reader
*
* @exception IOException If <code>close()</code> was called on this Piped
* Reader.
*/
*/
public int read(char[] buf, int offset, int len)
throws IOException
{
synchronized (lock)
{
if (source == null)
throw new IOException ("Not connected");
throw new IOException ("Not connected");
if (closed)
throw new IOException ("Pipe closed");
throw new IOException ("Pipe closed");
// Don't block if nothing was requested.
if (len == 0)
return 0;
// If the buffer is empty, wait until there is something in the pipe
// If the buffer is empty, wait until there is something in the pipe
// to read.
try
{
while (in < 0)
{
if (source.closed)
return -1;
lock.wait();
}
}
{
while (in < 0)
{
if (source.closed)
return -1;
lock.wait();
}
}
catch (InterruptedException ix)
{
{
throw new InterruptedIOException();
}
}
int total = 0;
int copylen;
while (true)
{
// Figure out how many chars from the pipe can be copied without
// overrunning in or going past the length of buf.
if (out < in)
copylen = Math.min (len, in - out);
else
copylen = Math.min (len, buffer.length - out);
{
// Figure out how many chars from the pipe can be copied without
// overrunning in or going past the length of buf.
if (out < in)
copylen = Math.min (len, in - out);
else
copylen = Math.min (len, buffer.length - out);
System.arraycopy (buffer, out, buf, offset, copylen);
offset += copylen;
len -= copylen;
out += copylen;
total += copylen;
offset += copylen;
len -= copylen;
out += copylen;
total += copylen;
if (out == buffer.length)
out = 0;
if (out == buffer.length)
out = 0;
if (out == in)
{
// Pipe is now empty.
in = -1;
out = 0;
}
if (out == in)
{
// Pipe is now empty.
in = -1;
out = 0;
}
// If output buffer is filled or the pipe is empty, we're done.
if (len == 0 || in == -1)
{
// Notify any waiting Writer that there is now space
// to write.
lock.notifyAll();
return total;
}
}
if (len == 0 || in == -1)
{
// Notify any waiting Writer that there is now space
// to write.
lock.notifyAll();
return total;
}
}
}
}
public boolean ready() throws IOException
{
// The JDK 1.3 implementation does not appear to check for the closed or
// The JDK 1.3 implementation does not appear to check for the closed or
// unconnected stream conditions here. However, checking for a
// closed stream is explicitly required by the JDK 1.2 and 1.3
// documentation (for Reader.close()), so we do it.
synchronized (lock)
{
if (closed)
throw new IOException("Pipe closed");
throw new IOException("Pipe closed");
if (in < 0)
return false;
return false;
int count;
if (out < in)
count = in - out;
count = in - out;
else
count = (buffer.length - out) - in;
count = (buffer.length - out) - in;
return (count > 0);
}
}
/**
* This methods closes the stream so that no more data can be read
* from it.
@@ -362,4 +362,3 @@ public class PipedReader extends Reader
}
}
}
+24 -24
View File
@@ -7,7 +7,7 @@ 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
@@ -38,16 +38,16 @@ exception statement from your version. */
package java.io;
// NOTE: This implementation is very similar to that of PipedOutputStream.
// If you fix a bug in here, chances are you should make a similar change to
// NOTE: This implementation is very similar to that of PipedOutputStream.
// If you fix a bug in here, chances are you should make a similar change to
// the PipedOutputStream code.
/**
* This class writes its chars to a <code>PipedReader</code> to
* This class writes its chars to a <code>PipedReader</code> to
* which it is connected.
* <p>
* It is highly recommended that a <code>PipedWriter</code> and its
* connected <code>PipedReader</code> be in different threads. If
* connected <code>PipedReader</code> be in different threads. If
* they are in the same thread, read and write operations could deadlock
* the thread.
*
@@ -55,17 +55,17 @@ package java.io;
*/
public class PipedWriter extends Writer
{
/** Target PipedReader to which this is connected. Null only if this
/** Target PipedReader to which this is connected. Null only if this
* Writer hasn't been connected yet. */
PipedReader sink;
/** Set to true if close() has been called on this Writer. */
boolean closed;
/** Buffer used to implement single-argument write */
char[] read_buf = new char[1];
/**
/**
* Create an unconnected PipedWriter. It must be connected
* to a <code>PipedReader</code> using the <code>connect</code>
* method prior to writing any data or an exception will be thrown.
@@ -81,7 +81,7 @@ public class PipedWriter extends Writer
*
* @param sink The <code>PipedReader</code> to connect this stream to.
*
* @exception IOException If <code>sink</code> has already been connected
* @exception IOException If <code>sink</code> has already been connected
* to a different PipedWriter.
*/
public PipedWriter(PipedReader sink) throws IOException
@@ -90,7 +90,7 @@ public class PipedWriter extends Writer
}
/**
* Connects this object to the specified <code>PipedReader</code>
* Connects this object to the specified <code>PipedReader</code>
* object. This stream will then be ready for writing.
*
* @param sink The <code>PipedReader</code> to connect this stream to
@@ -106,25 +106,25 @@ public class PipedWriter extends Writer
}
/**
* Write a single char of date to the stream. Note that this method will
* block if the <code>PipedReader</code> to which this object is
* Write a single char of date to the stream. Note that this method will
* block if the <code>PipedReader</code> to which this object is
* connected has a full buffer.
*
* @param b The char of data to be written, passed as an <code>int</code>.
*
* @exception IOException If the stream has not been connected or has
* been closed.
*/
*/
public void write(int b) throws IOException
{
read_buf[0] = (char) (b & 0xffff);
sink.receive (read_buf, 0, 1);
}
/**
* This method writes <code>len</code> chars of data from the char array
* <code>buf</code> starting at index <code>offset</code> in the array
* to the stream. Note that this method will block if the
* to the stream. Note that this method will block if the
* <code>PipedReader</code> to which this object is connected has
* a buffer that cannot hold all of the chars to be written.
*
@@ -141,7 +141,7 @@ public class PipedWriter extends Writer
throw new IOException ("Not connected");
if (closed)
throw new IOException ("Pipe closed");
sink.receive(buffer, offset, len);
}
@@ -158,7 +158,7 @@ public class PipedWriter extends Writer
if (closed)
throw new IOException ("Pipe closed");
}
/**
* This method closes this stream so that no more data can be written
* to it. Any further attempts to write to this stream may throw an
@@ -171,12 +171,12 @@ public class PipedWriter extends Writer
// A close call on an unconnected PipedWriter has no effect.
if (sink != null)
{
closed = true;
// Notify any waiting readers that the stream is now closed.
synchronized (sink)
{
sink.notifyAll();
}
closed = true;
// Notify any waiting readers that the stream is now closed.
synchronized (sink)
{
sink.notifyAll();
}
}
}
}
+39 -39
View File
@@ -8,7 +8,7 @@ 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
@@ -53,7 +53,7 @@ import gnu.classpath.SystemProperties;
* This class prints Java primitive values and object to a stream as
* text. None of the methods in this class throw an exception. However,
* errors can be detected by calling the <code>checkError()</code> method.
* Additionally, this stream can be designated as "autoflush" when
* Additionally, this stream can be designated as "autoflush" when
* created so that any writes are automatically flushed to the underlying
* output sink when the current line is terminated.
* <p>
@@ -85,7 +85,7 @@ public class PrintStream extends FilterOutputStream implements Appendable
private boolean error_occurred = false;
/**
* This is <code>true</code> if auto-flush is enabled,
* This is <code>true</code> if auto-flush is enabled,
* <code>false</code> otherwise
*/
private final boolean auto_flush;
@@ -173,13 +173,13 @@ public class PrintStream extends FilterOutputStream implements Appendable
* This method initializes a new <code>PrintStream</code> object to write
* to the specified output sink. This constructor also allows "auto-flush"
* functionality to be specified where the stream will be flushed after
* every <code>print</code> or <code>println</code> call, when the
* <code>write</code> methods with array arguments are called, or when a
* every <code>print</code> or <code>println</code> call, when the
* <code>write</code> methods with array arguments are called, or when a
* single new-line character is written.
* <p>
*
* @param out The <code>OutputStream</code> to write to.
* @param auto_flush <code>true</code> to flush the stream after every
* @param auto_flush <code>true</code> to flush the stream after every
* line, <code>false</code> otherwise
*/
public PrintStream (OutputStream out, boolean auto_flush)
@@ -187,13 +187,13 @@ public class PrintStream extends FilterOutputStream implements Appendable
super (out);
String encoding;
try {
encoding = SystemProperties.getProperty("file.encoding");
encoding = SystemProperties.getProperty("file.encoding");
} catch (SecurityException e){
encoding = "ISO8859_1";
encoding = "ISO8859_1";
} catch (IllegalArgumentException e){
encoding = "ISO8859_1";
encoding = "ISO8859_1";
} catch (NullPointerException e){
encoding = "ISO8859_1";
encoding = "ISO8859_1";
}
this.encoding = encoding;
this.auto_flush = auto_flush;
@@ -203,13 +203,13 @@ public class PrintStream extends FilterOutputStream implements Appendable
* This method initializes a new <code>PrintStream</code> object to write
* to the specified output sink. This constructor also allows "auto-flush"
* functionality to be specified where the stream will be flushed after
* every <code>print</code> or <code>println</code> call, when the
* <code>write</code> methods with array arguments are called, or when a
* every <code>print</code> or <code>println</code> call, when the
* <code>write</code> methods with array arguments are called, or when a
* single new-line character is written.
* <p>
*
* @param out The <code>OutputStream</code> to write to.
* @param auto_flush <code>true</code> to flush the stream after every
* @param auto_flush <code>true</code> to flush the stream after every
* line, <code>false</code> otherwise
* @param encoding The name of the character encoding to use for this
* object.
@@ -230,7 +230,7 @@ public class PrintStream extends FilterOutputStream implements Appendable
* <code>true</code> forever for this stream. Before checking for an
* error condition, this method flushes the stream.
*
* @return <code>true</code> if an error has occurred,
* @return <code>true</code> if an error has occurred,
* <code>false</code> otherwise
*/
public boolean checkError ()
@@ -255,16 +255,16 @@ public class PrintStream extends FilterOutputStream implements Appendable
{
try
{
flush();
out.close();
flush();
out.close();
}
catch (InterruptedIOException iioe)
{
Thread.currentThread().interrupt();
Thread.currentThread().interrupt();
}
catch (IOException e)
{
setError ();
setError ();
}
}
@@ -276,15 +276,15 @@ public class PrintStream extends FilterOutputStream implements Appendable
{
try
{
out.flush();
out.flush();
}
catch (InterruptedIOException iioe)
{
Thread.currentThread().interrupt();
Thread.currentThread().interrupt();
}
catch (IOException e)
{
setError ();
setError ();
}
}
@@ -293,39 +293,39 @@ public class PrintStream extends FilterOutputStream implements Appendable
try
{
writeChars(str, 0, str.length());
if (println)
writeChars(line_separator, 0, line_separator.length);
if (auto_flush)
flush();
if (println)
writeChars(line_separator, 0, line_separator.length);
if (auto_flush)
flush();
}
catch (InterruptedIOException iioe)
{
Thread.currentThread().interrupt();
Thread.currentThread().interrupt();
}
catch (IOException e)
{
setError ();
setError ();
}
}
private synchronized void print (char[] chars, int pos, int len,
boolean println)
boolean println)
{
try
{
writeChars(chars, pos, len);
if (println)
writeChars(line_separator, 0, line_separator.length);
if (auto_flush)
flush();
if (println)
writeChars(line_separator, 0, line_separator.length);
if (auto_flush)
flush();
}
catch (InterruptedIOException iioe)
{
Thread.currentThread().interrupt();
Thread.currentThread().interrupt();
}
catch (IOException e)
{
setError ();
setError ();
}
}
@@ -577,7 +577,7 @@ public class PrintStream extends FilterOutputStream implements Appendable
* This method writes a byte of data to the stream. If auto-flush is
* enabled, printing a newline character will cause the stream to be
* flushed after the character is written.
*
*
* @param oneByte The byte to be written
*/
public void write (int oneByte)
@@ -585,13 +585,13 @@ public class PrintStream extends FilterOutputStream implements Appendable
try
{
out.write (oneByte & 0xff);
if (auto_flush && (oneByte == '\n'))
flush ();
}
catch (InterruptedIOException iioe)
{
Thread.currentThread ().interrupt ();
Thread.currentThread ().interrupt ();
}
catch (IOException e)
{
@@ -612,13 +612,13 @@ public class PrintStream extends FilterOutputStream implements Appendable
try
{
out.write (buffer, offset, len);
if (auto_flush)
flush ();
}
catch (InterruptedIOException iioe)
{
Thread.currentThread ().interrupt ();
Thread.currentThread ().interrupt ();
}
catch (IOException e)
{
+57 -58
View File
@@ -7,7 +7,7 @@ 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
@@ -50,7 +50,7 @@ import java.util.Formatter;
* This class prints Java primitive values and objects to a stream as
* text. None of the methods in this class throw an exception. However,
* errors can be detected by calling the <code>checkError()</code> method.
* Additionally, this stream can be designated as "autoflush" when
* Additionally, this stream can be designated as "autoflush" when
* created so that any writes are automatically flushed to the underlying
* output sink whenever one of the <code>println</code> methods is
* called. (Note that this differs from the <code>PrintStream</code>
@@ -59,7 +59,7 @@ import java.util.Formatter;
*
* @author Per Bothner (bothner@cygnus.com)
* @author Aaron M. Renn (arenn@urbanophile.com)
* @date April 17, 1998.
* @date April 17, 1998.
*/
public class PrintWriter extends Writer
{
@@ -73,7 +73,7 @@ public class PrintWriter extends Writer
* on this stream.
*/
private boolean error;
/**
* Indicates whether or not the stream has been closed.
*/
@@ -105,7 +105,7 @@ public class PrintWriter extends Writer
* every line is terminated or newline character is written.
*
* @param wr The <code>Writer</code> to write to.
* @param autoflush <code>true</code> to flush the stream after every
* @param autoflush <code>true</code> to flush the stream after every
* line, <code>false</code> otherwise
*/
public PrintWriter(Writer wr, boolean autoflush)
@@ -133,11 +133,11 @@ public class PrintWriter extends Writer
/**
* This method initializes a new <code>PrintWriter</code> object to write
* to the specified <code>OutputStream</code>. Characters will be converted
* to chars using the system default encoding. This form of the
* to chars using the system default encoding. This form of the
* constructor allows auto-flush functionality to be enabled if desired
*
* @param out The <code>OutputStream</code> to write to
* @param autoflush <code>true</code> to flush the stream after every
* @param autoflush <code>true</code> to flush the stream after every
* <code>println</code> call, <code>false</code> otherwise.
*/
public PrintWriter(OutputStream out, boolean autoflush)
@@ -152,7 +152,7 @@ public class PrintWriter extends Writer
* OutputStreamWriter using the default encoding.
* @param file name of the file to write to
* @throws FileNotFoundException if the file cannot be written or created
*
*
* @since 1.5
*/
public PrintWriter(String file) throws FileNotFoundException
@@ -168,10 +168,10 @@ public class PrintWriter extends Writer
* @param enc the encoding to use
* @throws FileNotFoundException if the file cannot be written or created
* @throws UnsupportedEncodingException if the encoding is not supported
*
*
* @since 1.5
*/
public PrintWriter(String file, String enc)
public PrintWriter(String file, String enc)
throws FileNotFoundException, UnsupportedEncodingException
{
this(new OutputStreamWriter(new FileOutputStream(file), enc));
@@ -183,7 +183,7 @@ public class PrintWriter extends Writer
* OutputStreamWriter using the default encoding.
* @param file the file to write to
* @throws FileNotFoundException if the file cannot be written or created
*
*
* @since 1.5
*/
public PrintWriter(File file) throws FileNotFoundException
@@ -199,10 +199,10 @@ public class PrintWriter extends Writer
* @param enc the encoding to use
* @throws FileNotFoundException if the file cannot be written or created
* @throws UnsupportedEncodingException if the encoding is not supported
*
*
* @since 1.5
*/
public PrintWriter(File file, String enc)
public PrintWriter(File file, String enc)
throws FileNotFoundException, UnsupportedEncodingException
{
this(new OutputStreamWriter(new FileOutputStream(file), enc));
@@ -223,7 +223,7 @@ public class PrintWriter extends Writer
* <code>true</code> forever for this stream. Before checking for an
* error condition, this method flushes the stream.
*
* @return <code>true</code> if an error has occurred,
* @return <code>true</code> if an error has occurred,
* <code>false</code> otherwise
*/
public boolean checkError()
@@ -241,11 +241,11 @@ public class PrintWriter extends Writer
{
try
{
out.flush();
out.flush();
}
catch (IOException ex)
{
error = true;
error = true;
}
}
@@ -261,7 +261,7 @@ public class PrintWriter extends Writer
}
catch (IOException ex)
{
error = true;
error = true;
}
}
@@ -382,7 +382,7 @@ public class PrintWriter extends Writer
* This is the system dependent line separator
*/
private static final char[] line_separator
= System.getProperty("line.separator", "\n").toCharArray();
= System.getProperty("line.separator", "\n").toCharArray();
/**
* This method prints a line separator sequence to the stream. The value
@@ -393,16 +393,16 @@ public class PrintWriter extends Writer
{
synchronized (lock)
{
try
{
write(line_separator, 0, line_separator.length);
if (autoflush)
out.flush();
}
catch (IOException ex)
{
error = true;
}
try
{
write(line_separator, 0, line_separator.length);
if (autoflush)
out.flush();
}
catch (IOException ex)
{
error = true;
}
}
}
@@ -419,8 +419,8 @@ public class PrintWriter extends Writer
{
synchronized (lock)
{
print(bool);
println();
print(bool);
println();
}
}
@@ -436,8 +436,8 @@ public class PrintWriter extends Writer
{
synchronized (lock)
{
print(inum);
println();
print(inum);
println();
}
}
@@ -453,8 +453,8 @@ public class PrintWriter extends Writer
{
synchronized (lock)
{
print(lnum);
println();
print(lnum);
println();
}
}
@@ -470,8 +470,8 @@ public class PrintWriter extends Writer
{
synchronized (lock)
{
print(fnum);
println();
print(fnum);
println();
}
}
@@ -487,8 +487,8 @@ public class PrintWriter extends Writer
{
synchronized (lock)
{
print(dnum);
println();
print(dnum);
println();
}
}
@@ -505,8 +505,8 @@ public class PrintWriter extends Writer
{
synchronized (lock)
{
print(obj);
println();
print(obj);
println();
}
}
@@ -522,8 +522,8 @@ public class PrintWriter extends Writer
{
synchronized (lock)
{
print(str);
println();
print(str);
println();
}
}
@@ -539,8 +539,8 @@ public class PrintWriter extends Writer
{
synchronized (lock)
{
print(ch);
println();
print(ch);
println();
}
}
@@ -556,30 +556,30 @@ public class PrintWriter extends Writer
{
synchronized (lock)
{
print(charArray);
println();
print(charArray);
println();
}
}
/**
* This method writes a single char to the stream.
*
* This method writes a single char to the stream.
*
* @param ch The char to be written, passed as a int
*/
public void write(int ch)
{
try
{
out.write(ch);
out.write(ch);
}
catch (IOException ex)
{
error = true;
error = true;
}
}
/**
* This method writes <code>count</code> chars from the specified array
* This method writes <code>count</code> chars from the specified array
* starting at index <code>offset</code> into the array.
*
* @param charArray The array of chars to write
@@ -590,11 +590,11 @@ public class PrintWriter extends Writer
{
try
{
out.write(charArray, offset, count);
out.write(charArray, offset, count);
}
catch (IOException ex)
{
error = true;
error = true;
}
}
@@ -611,11 +611,11 @@ public class PrintWriter extends Writer
{
try
{
out.write(str, offset, count);
out.write(str, offset, count);
}
catch (IOException ex)
{
error = true;
error = true;
}
}
@@ -627,7 +627,7 @@ public class PrintWriter extends Writer
public void write(char[] charArray)
{
write(charArray, 0, charArray.length);
}
}
/**
* This method writes the contents of the specified <code>String</code>
@@ -638,7 +638,7 @@ public class PrintWriter extends Writer
public void write(String str)
{
write(str, 0, str.length());
}
}
/** @since 1.5 */
public PrintWriter append(char c)
@@ -687,4 +687,3 @@ public class PrintWriter extends Writer
return this;
}
}
@@ -7,7 +7,7 @@ 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
@@ -38,10 +38,10 @@ exception statement from your version. */
package java.io;
/**
* This subclass of <code>FilterInputStream</code> provides the ability to
* This subclass of <code>FilterInputStream</code> provides the ability to
* unread data from a stream. It maintains an internal buffer of unread
* data that is supplied to the next read operation. This is conceptually
* similar to mark/reset functionality, except that in this case the
* similar to mark/reset functionality, except that in this case the
* position to reset the stream to does not need to be known in advance.
* <p>
* The default pushback buffer size one byte, but this can be overridden
@@ -66,8 +66,8 @@ public class PushbackInputStream extends FilterInputStream
/**
* This is the position in the buffer from which the next byte will be
* read. Bytes are stored in reverse order in the buffer, starting from
* <code>buf[buf.length - 1]</code> to <code>buf[0]</code>. Thus when
* <code>pos</code> is 0 the buffer is full and <code>buf.length</code> when
* <code>buf[buf.length - 1]</code> to <code>buf[0]</code>. Thus when
* <code>pos</code> is 0 the buffer is full and <code>buf.length</code> when
* it is empty
*/
protected int pos;
@@ -107,7 +107,7 @@ public class PushbackInputStream extends FilterInputStream
* might (or might not) occur on the very next read attempt.
* <p>
* This method will return the number of bytes available from the
* pushback buffer plus the number of bytes available from the
* pushback buffer plus the number of bytes available from the
* underlying stream.
*
* @return The number of bytes that can be read before blocking could occur
@@ -116,19 +116,19 @@ public class PushbackInputStream extends FilterInputStream
*/
public int available() throws IOException
{
try
try
{
return (buf.length - pos) + super.available();
}
catch (NullPointerException npe)
return (buf.length - pos) + super.available();
}
catch (NullPointerException npe)
{
throw new IOException ("Stream closed");
throw new IOException ("Stream closed");
}
}
/**
* This method closes the stream and releases any associated resources.
*
*
* @exception IOException If an error occurs.
*/
public synchronized void close() throws IOException
@@ -192,9 +192,9 @@ public class PushbackInputStream extends FilterInputStream
* <p>
* This method will block until some data can be read.
* <p>
* This method first reads bytes from the pushback buffer in order to
* This method first reads bytes from the pushback buffer in order to
* satisfy the read request. If the pushback buffer cannot provide all
* of the bytes requested, the remaining bytes are read from the
* of the bytes requested, the remaining bytes are read from the
* underlying stream.
*
* @param b The array into which the bytes read should be stored
@@ -211,18 +211,18 @@ public class PushbackInputStream extends FilterInputStream
if (numBytes > 0)
{
System.arraycopy (buf, pos, b, off, numBytes);
pos += numBytes;
len -= numBytes;
off += numBytes;
System.arraycopy (buf, pos, b, off, numBytes);
pos += numBytes;
len -= numBytes;
off += numBytes;
}
if (len > 0)
if (len > 0)
{
len = super.read(b, off, len);
if (len == -1) //EOF
return numBytes > 0 ? numBytes : -1;
numBytes += len;
return numBytes > 0 ? numBytes : -1;
numBytes += len;
}
return numBytes;
}
@@ -250,7 +250,7 @@ public class PushbackInputStream extends FilterInputStream
}
/**
* This method pushes all of the bytes in the passed byte array into
* This method pushes all of the bytes in the passed byte array into
* the pushback bfer. These bytes are pushed in reverse order so that
* the next byte read from the stream after this operation will be
* <code>b[0]</code> followed by <code>b[1]</code>, etc.
@@ -306,7 +306,7 @@ public class PushbackInputStream extends FilterInputStream
* requested amount.
* <p>
* This method first discards bytes from the buffer, then calls the
* <code>skip</code> method on the underlying <code>InputStream</code> to
* <code>skip</code> method on the underlying <code>InputStream</code> to
* skip additional bytes if necessary.
*
* @param n The requested number of bytes to skip
@@ -323,11 +323,11 @@ public class PushbackInputStream extends FilterInputStream
if (n > 0L)
{
int numread = (int) Math.min((long) (buf.length - pos), n);
pos += numread;
n -= numread;
if (n > 0)
n -= super.skip(n);
int numread = (int) Math.min((long) (buf.length - pos), n);
pos += numread;
n -= numread;
if (n > 0)
n -= super.skip(n);
}
return origN - n;
+64 -65
View File
@@ -7,7 +7,7 @@ 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
@@ -39,10 +39,10 @@ exception statement from your version. */
package java.io;
/**
* This subclass of <code>FilterReader</code> provides the ability to
* This subclass of <code>FilterReader</code> provides the ability to
* unread data from a stream. It maintains an internal buffer of unread
* data that is supplied to the next read operation. This is conceptually
* similar to mark/reset functionality, except that in this case the
* similar to mark/reset functionality, except that in this case the
* position to reset the stream to does not need to be known in advance.
* <p>
* The default pushback buffer size one char, but this can be overridden
@@ -66,15 +66,15 @@ public class PushbackReader extends FilterReader
/**
* This is the position in the buffer from which the next char will be
* read. Bytes are stored in reverse order in the buffer, starting from
* <code>buf[buf.length - 1]</code> to <code>buf[0]</code>. Thus when
* <code>pos</code> is 0 the buffer is full and <code>buf.length</code> when
* <code>buf[buf.length - 1]</code> to <code>buf[0]</code>. Thus when
* <code>pos</code> is 0 the buffer is full and <code>buf.length</code> when
* it is empty
*/
private int pos;
/**
* This method initializes a <code>PushbackReader</code> to read from the
* specified subordinate <code>Reader</code> with a default pushback buffer
* specified subordinate <code>Reader</code> with a default pushback buffer
* size of 1.
*
* @param in The subordinate stream to read from
@@ -112,8 +112,8 @@ public class PushbackReader extends FilterReader
{
synchronized (lock)
{
buf = null;
super.close();
buf = null;
super.close();
}
}
@@ -134,7 +134,7 @@ public class PushbackReader extends FilterReader
* This method returns <code>false</code> to indicate that it does not support
* mark/reset functionality.
*
* @return This method returns <code>false</code> to indicate that this
* @return This method returns <code>false</code> to indicate that this
* class does not support mark/reset functionality
*
*/
@@ -164,7 +164,7 @@ public class PushbackReader extends FilterReader
* read in the pushback buffer or if the underlying stream is ready to
* be read.
*
* @return <code>true</code> if this stream is ready to be read,
* @return <code>true</code> if this stream is ready to be read,
* <code>false</code> otherwise
*
* @exception IOException If an error occurs
@@ -173,13 +173,13 @@ public class PushbackReader extends FilterReader
{
synchronized (lock)
{
if (buf == null)
throw new IOException ("stream closed");
if (buf == null)
throw new IOException ("stream closed");
if (((buf.length - pos) > 0) || super.ready())
return(true);
else
return(false);
if (((buf.length - pos) > 0) || super.ready())
return(true);
else
return(false);
}
}
@@ -191,7 +191,7 @@ public class PushbackReader extends FilterReader
* requested amount.
* <p>
* This method first discards chars from the buffer, then calls the
* <code>skip</code> method on the underlying <code>Reader</code> to
* <code>skip</code> method on the underlying <code>Reader</code> to
* skip additional chars if necessary.
*
* @param num_chars The requested number of chars to skip
@@ -204,21 +204,21 @@ public class PushbackReader extends FilterReader
{
synchronized (lock)
{
if (num_chars <= 0)
return(0);
if (num_chars <= 0)
return(0);
if ((buf.length - pos) >= num_chars)
{
pos += num_chars;
return(num_chars);
}
if ((buf.length - pos) >= num_chars)
{
pos += num_chars;
return(num_chars);
}
int chars_discarded = buf.length - pos;
pos = buf.length;
int chars_discarded = buf.length - pos;
pos = buf.length;
long chars_skipped = in.skip(num_chars - chars_discarded);
long chars_skipped = in.skip(num_chars - chars_discarded);
return(chars_discarded + chars_skipped);
return(chars_discarded + chars_skipped);
}
}
@@ -239,14 +239,14 @@ public class PushbackReader extends FilterReader
{
synchronized (lock)
{
if (buf == null)
if (buf == null)
throw new IOException("stream closed");
if (pos == buf.length)
return(super.read());
if (pos == buf.length)
return(super.read());
++pos;
return((buf[pos - 1] & 0xFFFF));
++pos;
return((buf[pos - 1] & 0xFFFF));
}
}
@@ -261,9 +261,9 @@ public class PushbackReader extends FilterReader
* <p>
* This method will block until some data can be read.
* <p>
* This method first reads chars from the pushback buffer in order to
* This method first reads chars from the pushback buffer in order to
* satisfy the read request. If the pushback buffer cannot provide all
* of the chars requested, the remaining chars are read from the
* of the chars requested, the remaining chars are read from the
* underlying stream.
*
* @param buffer The array into which the chars read should be stored
@@ -279,21 +279,21 @@ public class PushbackReader extends FilterReader
{
synchronized (lock)
{
if (buf == null)
if (buf == null)
throw new IOException("stream closed");
if (offset < 0 || length < 0 || offset + length > buffer.length)
if (offset < 0 || length < 0 || offset + length > buffer.length)
throw new ArrayIndexOutOfBoundsException();
int numBytes = Math.min(buf.length - pos, length);
if (numBytes > 0)
{
System.arraycopy (buf, pos, buffer, offset, numBytes);
pos += numBytes;
return numBytes;
}
int numBytes = Math.min(buf.length - pos, length);
if (numBytes > 0)
{
System.arraycopy (buf, pos, buffer, offset, numBytes);
pos += numBytes;
return numBytes;
}
return super.read(buffer, offset, length);
return super.read(buffer, offset, length);
}
}
@@ -304,7 +304,7 @@ public class PushbackReader extends FilterReader
* <p>
* If the pushback buffer is full, this method throws an exception.
* <p>
* The argument to this method is an <code>int</code>. Only the low eight
* The argument to this method is an <code>int</code>. Only the low eight
* bits of this value are pushed back.
*
* @param b The char to be pushed back, passed as an int
@@ -315,18 +315,18 @@ public class PushbackReader extends FilterReader
{
synchronized (lock)
{
if (buf == null)
throw new IOException("stream closed");
if (pos == 0)
throw new IOException("Pushback buffer is full");
if (buf == null)
throw new IOException("stream closed");
if (pos == 0)
throw new IOException("Pushback buffer is full");
--pos;
buf[pos] = (char)(b & 0xFFFF);
--pos;
buf[pos] = (char)(b & 0xFFFF);
}
}
/**
* This method pushes all of the chars in the passed char array into
* This method pushes all of the chars in the passed char array into
* the pushback buffer. These chars are pushed in reverse order so that
* the next char read from the stream after this operation will be
* <code>buf[0]</code> followed by <code>buf[1]</code>, etc.
@@ -345,7 +345,7 @@ public class PushbackReader extends FilterReader
/**
* This method pushed back chars from the passed in array into the pushback
* buffer. The chars from <code>buf[offset]</code> to
* buffer. The chars from <code>buf[offset]</code> to
* <code>buf[offset + len]</code>
* are pushed in reverse order so that the next char read from the stream
* after this operation will be <code>buf[offset]</code> followed by
@@ -365,20 +365,19 @@ public class PushbackReader extends FilterReader
{
synchronized (lock)
{
if (buf == null)
if (buf == null)
throw new IOException("stream closed");
if (pos < length)
throw new IOException("Pushback buffer is full");
if (pos < length)
throw new IOException("Pushback buffer is full");
// Note the order that these chars are being added is the opposite
// of what would be done if they were added to the buffer one at a time.
// See the Java Class Libraries book p. 1397.
System.arraycopy(buffer, offset, buf, pos - length, length);
// Note the order that these chars are being added is the opposite
// of what would be done if they were added to the buffer one at a time.
// See the Java Class Libraries book p. 1397.
System.arraycopy(buffer, offset, buf, pos - length, length);
// Don't put this into the arraycopy above, an exception might be thrown
// and in that case we don't want to modify pos.
pos -= length;
// Don't put this into the arraycopy above, an exception might be thrown
// and in that case we don't want to modify pos.
pos -= length;
}
}
}
+106 -106
View File
@@ -7,7 +7,7 @@ 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
@@ -67,12 +67,12 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
// The corresponding input and output streams.
private DataOutputStream out;
private DataInputStream in;
/**
* This method initializes a new instance of <code>RandomAccessFile</code>
* to read from the specified <code>File</code> object with the specified
* access mode. The access mode is either "r" for read only access or "rw"
* to read from the specified <code>File</code> object with the specified
* access mode. The access mode is either "r" for read only access or "rw"
* for read-write access.
* <p>
* Note that a <code>SecurityManager</code> check is made prior to
@@ -82,11 +82,11 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
* @param file The <code>File</code> object to read and/or write.
* @param mode "r" for read only or "rw" for read-write access to the file
*
* @exception IllegalArgumentException If <code>mode</code> has an
* @exception IllegalArgumentException If <code>mode</code> has an
* illegal value
* @exception SecurityException If the requested access to the file
* @exception SecurityException If the requested access to the file
* is not allowed
* @exception FileNotFoundException If the file is a directory, or
* @exception FileNotFoundException If the file is a directory, or
* any other error occurs
*/
public RandomAccessFile (File file, String mode)
@@ -99,13 +99,13 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
fdmode = FileChannelImpl.READ | FileChannelImpl.WRITE;
else if (mode.equals("rws"))
{
fdmode = (FileChannelImpl.READ | FileChannelImpl.WRITE
| FileChannelImpl.SYNC);
fdmode = (FileChannelImpl.READ | FileChannelImpl.WRITE
| FileChannelImpl.SYNC);
}
else if (mode.equals("rwd"))
{
fdmode = (FileChannelImpl.READ | FileChannelImpl.WRITE
| FileChannelImpl.DSYNC);
fdmode = (FileChannelImpl.READ | FileChannelImpl.WRITE
| FileChannelImpl.DSYNC);
}
else
throw new IllegalArgumentException ("invalid mode: " + mode);
@@ -159,11 +159,11 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
* @param fileName The name of the file to read and/or write
* @param mode "r", "rw", "rws", or "rwd"
*
* @exception IllegalArgumentException If <code>mode</code> has an
* @exception IllegalArgumentException If <code>mode</code> has an
* illegal value
* @exception SecurityException If the requested access to the file
* @exception SecurityException If the requested access to the file
* is not allowed
* @exception FileNotFoundException If the file is a directory or
* @exception FileNotFoundException If the file is a directory or
* any other error occurs
*/
public RandomAccessFile (String fileName, String mode)
@@ -184,7 +184,7 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
}
/**
* This method returns a <code>FileDescriptor</code> object that
* This method returns a <code>FileDescriptor</code> object that
* represents the native file handle for this file.
*
* @return The <code>FileDescriptor</code> object for this file
@@ -195,9 +195,9 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
{
synchronized (this)
{
if (fd == null)
fd = new FileDescriptor (ch);
return fd;
if (fd == null)
fd = new FileDescriptor (ch);
return fd;
}
}
@@ -239,10 +239,10 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
ch.truncate (newLen);
else if (newLen > length())
{
long pos = getFilePointer();
seek(newLen - 1);
write(0);
seek(pos);
long pos = getFilePointer();
seek(newLen - 1);
write(0);
seek(pos);
}
}
@@ -273,7 +273,7 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
/**
* This method reads bytes from the file into the specified array. The
* bytes are stored starting at the beginning of the array and up to
* bytes are stored starting at the beginning of the array and up to
* <code>buf.length</code> bytes can be read.
*
* @param buffer The buffer to read bytes from the file into
@@ -310,14 +310,14 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
* value returned is <code>false</code> If the byte is non-zero, then
* the value returned is <code>true</code>
* <p>
* This method can read a <code>boolean</code> written by an object
* This method can read a <code>boolean</code> written by an object
* implementing the
* <code>writeBoolean()</code> method in the <code>DataOutput</code>
* <code>writeBoolean()</code> method in the <code>DataOutput</code>
* interface.
*
* @return The <code>boolean</code> value read
*
* @exception EOFException If end of file is reached before reading the
* @exception EOFException If end of file is reached before reading the
* boolean
* @exception IOException If any other error occurs
*/
@@ -330,8 +330,8 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
* This method reads a Java byte value from an input stream. The value
* is in the range of -128 to 127.
* <p>
* This method can read a <code>byte</code> written by an object
* implementing the
* This method can read a <code>byte</code> written by an object
* implementing the
* <code>writeByte()</code> method in the <code>DataOutput</code> interface.
*
* @return The <code>byte</code> value read
@@ -347,24 +347,24 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
}
/**
* This method reads a Java <code>char</code> value from an input stream.
* It operates by reading two bytes from the stream and converting them to
* This method reads a Java <code>char</code> value from an input stream.
* It operates by reading two bytes from the stream and converting them to
* a single 16-bit Java <code>char</code> The two bytes are stored most
* significant byte first (i.e., "big endian") regardless of the native
* host byte ordering.
* host byte ordering.
* <p>
* As an example, if <code>byte1</code> and <code>byte2</code> represent
* As an example, if <code>byte1</code> and <code>byte2</code> represent
* the first
* and second byte read from the stream respectively, they will be
* transformed to a <code>char</code> in the following manner:
* <p>
* <code>(char)(((byte1 &amp; 0xFF) &lt;&lt; 8) | (byte2 &amp; 0xFF)</code>
* <p>
* This method can read a <code>char</code> written by an object
* This method can read a <code>char</code> written by an object
* implementing the
* <code>writeChar()</code> method in the <code>DataOutput</code> interface.
*
* @return The <code>char</code> value read
* @return The <code>char</code> value read
*
* @exception EOFException If end of file is reached before reading the char
* @exception IOException If any other error occurs
@@ -379,19 +379,19 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
/**
* This method reads a Java double value from an input stream. It operates
* by first reading a <code>logn</code> value from the stream by calling the
* <code>readLong()</code> method in this interface, then
* <code>readLong()</code> method in this interface, then
* converts that <code>long</code>
* to a <code>double</code> using the <code>longBitsToDouble</code>
* to a <code>double</code> using the <code>longBitsToDouble</code>
* method in the class <code>java.lang.Double</code>
* <p>
* This method can read a <code>double</code> written by an object
* This method can read a <code>double</code> written by an object
* implementing the
* <code>writeDouble()</code> method in the <code>DataOutput</code>
* <code>writeDouble()</code> method in the <code>DataOutput</code>
* interface.
*
* @return The <code>double</code> value read
*
* @exception EOFException If end of file is reached before reading
* @exception EOFException If end of file is reached before reading
* the double
* @exception IOException If any other error occurs
*
@@ -406,12 +406,12 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
/**
* This method reads a Java float value from an input stream. It operates
* by first reading an <code>int</code> value from the stream by calling the
* <code>readInt()</code> method in this interface, then converts
* <code>readInt()</code> method in this interface, then converts
* that <code>int</code>
* to a <code>float</code> using the <code>intBitsToFloat</code> method in
* to a <code>float</code> using the <code>intBitsToFloat</code> method in
* the class <code>java.lang.Float</code>
* <p>
* This method can read a <code>float</code> written by an object
* This method can read a <code>float</code> written by an object
* implementing the
* <code>writeFloat()</code> method in the <code>DataOutput</code> interface.
*
@@ -436,7 +436,7 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
*
* @param buffer The buffer into which to read the data
*
* @exception EOFException If end of file is reached before filling the
* @exception EOFException If end of file is reached before filling the
* buffer
* @exception IOException If any other error occurs
*/
@@ -446,19 +446,19 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
}
/**
* This method reads raw bytes into the passed array <code>buf</code>
* This method reads raw bytes into the passed array <code>buf</code>
* starting
* <code>offset</code> bytes into the buffer. The number of bytes read
* <code>offset</code> bytes into the buffer. The number of bytes read
* will be
* exactly <code>len</code> Note that this method blocks until the data is
* available and throws an exception if there is not enough data left in
* exactly <code>len</code> Note that this method blocks until the data is
* available and throws an exception if there is not enough data left in
* the stream to read <code>len</code> bytes.
*
* @param buffer The buffer into which to read the data
* @param offset The offset into the buffer to start storing data
* @param count The number of bytes to read into the buffer
*
* @exception EOFException If end of file is reached before filling
* @exception EOFException If end of file is reached before filling
* the buffer
* @exception IOException If any other error occurs
*/
@@ -470,22 +470,22 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
/**
* This method reads a Java <code>int</code> value from an input stream
* It operates by reading four bytes from the stream and converting them to
* It operates by reading four bytes from the stream and converting them to
* a single Java <code>int</code> The bytes are stored most
* significant byte first (i.e., "big endian") regardless of the native
* host byte ordering.
* host byte ordering.
* <p>
* As an example, if <code>byte1</code> through <code>byte4</code>
* As an example, if <code>byte1</code> through <code>byte4</code>
* represent the first
* four bytes read from the stream, they will be
* transformed to an <code>int</code> in the following manner:
* <p>
* <code>(int)(((byte1 &amp; 0xFF) &lt;&lt; 24) + ((byte2 &amp; 0xFF) &lt;&lt; 16) +
* <code>(int)(((byte1 &amp; 0xFF) &lt;&lt; 24) + ((byte2 &amp; 0xFF) &lt;&lt; 16) +
* ((byte3 &amp; 0xFF) &lt;&lt; 8) + (byte4 &amp; 0xFF)))</code>
* <p>
* The value returned is in the range of 0 to 65535.
* <p>
* This method can read an <code>int</code> written by an object
* This method can read an <code>int</code> written by an object
* implementing the
* <code>writeInt()</code> method in the <code>DataOutput</code> interface.
*
@@ -503,17 +503,17 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
/**
* This method reads the next line of text data from an input stream.
* It operates by reading bytes and converting those bytes to
* It operates by reading bytes and converting those bytes to
* <code>char</code>
* values by treating the byte read as the low eight bits of the
* values by treating the byte read as the low eight bits of the
* <code>char</code>
* and using <code>0</code> as the high eight bits. Because of this, it does
* not support the full 16-bit Unicode character set.
* <p>
* The reading of bytes ends when either the end of file or a line terminator
* is encountered. The bytes read are then returned as a <code>String</code>
* A line terminator is a byte sequence consisting of either
* <code>\r</code> <code>\n</code> or <code>\r\n</code> These
* A line terminator is a byte sequence consisting of either
* <code>\r</code> <code>\n</code> or <code>\r\n</code> These
* termination charaters are
* discarded and are not returned as part of the string.
* <p>
@@ -533,25 +533,25 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
/**
* This method reads a Java long value from an input stream
* It operates by reading eight bytes from the stream and converting them to
* It operates by reading eight bytes from the stream and converting them to
* a single Java <code>long</code> The bytes are stored most
* significant byte first (i.e., "big endian") regardless of the native
* host byte ordering.
* host byte ordering.
* <p>
* As an example, if <code>byte1</code> through <code>byte8</code>
* As an example, if <code>byte1</code> through <code>byte8</code>
* represent the first
* eight bytes read from the stream, they will be
* transformed to an <code>long</code> in the following manner:
* <p>
* <code>
* (long)((((long)byte1 &amp; 0xFF) &lt;&lt; 56) + (((long)byte2 &amp; 0xFF) &lt;&lt; 48) +
* (((long)byte3 &amp; 0xFF) &lt;&lt; 40) + (((long)byte4 &amp; 0xFF) &lt;&lt; 32) +
* (((long)byte5 &amp; 0xFF) &lt;&lt; 24) + (((long)byte6 &amp; 0xFF) &lt;&lt; 16) +
* (long)((((long)byte1 &amp; 0xFF) &lt;&lt; 56) + (((long)byte2 &amp; 0xFF) &lt;&lt; 48) +
* (((long)byte3 &amp; 0xFF) &lt;&lt; 40) + (((long)byte4 &amp; 0xFF) &lt;&lt; 32) +
* (((long)byte5 &amp; 0xFF) &lt;&lt; 24) + (((long)byte6 &amp; 0xFF) &lt;&lt; 16) +
* (((long)byte7 &amp; 0xFF) &lt;&lt; 8) + ((long)byte9 &amp; 0xFF)))</code>
* <p>
* The value returned is in the range of 0 to 65535.
* <p>
* This method can read an <code>long</code> written by an object
* This method can read an <code>long</code> written by an object
* implementing the
* <code>writeLong()</code> method in the <code>DataOutput</code> interface.
*
@@ -569,12 +569,12 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
/**
* This method reads a signed 16-bit value into a Java in from the stream.
* It operates by reading two bytes from the stream and converting them to
* It operates by reading two bytes from the stream and converting them to
* a single 16-bit Java <code>short</code> The two bytes are stored most
* significant byte first (i.e., "big endian") regardless of the native
* host byte ordering.
* host byte ordering.
* <p>
* As an example, if <code>byte1</code> and <code>byte2</code>
* As an example, if <code>byte1</code> and <code>byte2</code>
* represent the first
* and second byte read from the stream respectively, they will be
* transformed to a <code>short</code> in the following manner:
@@ -583,7 +583,7 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
* <p>
* The value returned is in the range of -32768 to 32767.
* <p>
* This method can read a <code>short</code> written by an object
* This method can read a <code>short</code> written by an object
* implementing the
* <code>writeShort()</code> method in the <code>DataOutput</code> interface.
*
@@ -600,12 +600,12 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
}
/**
* This method reads 8 unsigned bits into a Java <code>int</code> value
* from the
* This method reads 8 unsigned bits into a Java <code>int</code> value
* from the
* stream. The value returned is in the range of 0 to 255.
* <p>
* This method can read an unsigned byte written by an object implementing
* the <code>writeUnsignedByte()</code> method in the
* This method can read an unsigned byte written by an object implementing
* the <code>writeUnsignedByte()</code> method in the
* <code>DataOutput</code> interface.
*
* @return The unsigned bytes value read as a Java <code>int</code>
@@ -622,12 +622,12 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
/**
* This method reads 16 unsigned bits into a Java int value from the stream.
* It operates by reading two bytes from the stream and converting them to
* It operates by reading two bytes from the stream and converting them to
* a single Java <code>int</code> The two bytes are stored most
* significant byte first (i.e., "big endian") regardless of the native
* host byte ordering.
* host byte ordering.
* <p>
* As an example, if <code>byte1</code> and <code>byte2</code>
* As an example, if <code>byte1</code> and <code>byte2</code>
* represent the first
* and second byte read from the stream respectively, they will be
* transformed to an <code>int</code> in the following manner:
@@ -637,7 +637,7 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
* The value returned is in the range of 0 to 65535.
* <p>
* This method can read an unsigned short written by an object implementing
* the <code>writeUnsignedShort()</code> method in the
* the <code>writeUnsignedShort()</code> method in the
* <code>DataOutput</code> interface.
*
* @return The unsigned short value read as a Java <code>int</code>
@@ -651,7 +651,7 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
}
/**
* This method reads a <code>String</code> from an input stream that
* This method reads a <code>String</code> from an input stream that
* is encoded in
* a modified UTF-8 format. This format has a leading two byte sequence
* that contains the remaining number of bytes to read. This two byte
@@ -659,11 +659,11 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
* interface.
* <p>
* After the number of remaining bytes have been determined, these bytes
* are read an transformed into <code>char</code> values.
* are read an transformed into <code>char</code> values.
* These <code>char</code> values
* are encoded in the stream using either a one, two, or three byte format.
* The particular format in use can be determined by examining the first
* byte read.
* byte read.
* <p>
* If the first byte has a high order bit of 0 then
* that character consists on only one byte. This character value consists
@@ -673,14 +673,14 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
* <p>
* <code>(char)byte1</code>
* <p>
* If the first byte has <code>110</code> as its high order bits, then the
* If the first byte has <code>110</code> as its high order bits, then the
* character consists of two bytes. The bits that make up the character
* value are in positions 0 through 4 of the first byte and bit positions
* 0 through 5 of the second byte. (The second byte should have
* 0 through 5 of the second byte. (The second byte should have
* 10 as its high order bits). These values are in most significant
* byte first (i.e., "big endian") order.
* <p>
* As an example, if <code>byte1</code> and <code>byte2</code>
* As an example, if <code>byte1</code> and <code>byte2</code>
* are the first two bytes
* read respectively, and the high order bits of them match the patterns
* which indicate a two byte character encoding, then they would be
@@ -695,27 +695,27 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
* have <code>10</code> as their high order bits). These values are in most
* significant byte first (i.e., "big endian") order.
* <p>
* As an example, if <code>byte1</code> <code>byte2</code>
* As an example, if <code>byte1</code> <code>byte2</code>
* and <code>byte3</code> are the
* three bytes read, and the high order bits of them match the patterns
* which indicate a three byte character encoding, then they would be
* converted to a Java <code>char</code> like so:
* <p>
* <code>(char)(((byte1 & 0x0F) << 12) | ((byte2 & 0x3F) << 6) |
* <code>(char)(((byte1 & 0x0F) << 12) | ((byte2 & 0x3F) << 6) |
* (byte3 & 0x3F))</code>
* <p>
* Note that all characters are encoded in the method that requires the
* fewest number of bytes with the exception of the character with the
* value of <code>&#92;u0000</code> which is encoded as two bytes. This is
* value of <code>&#92;u0000</code> which is encoded as two bytes. This is
* a modification of the UTF standard used to prevent C language style
* <code>NUL</code> values from appearing in the byte stream.
* <p>
* This method can read data that was written by an object implementing the
* <code>writeUTF()</code> method in <code>DataOutput</code>
*
*
* @return The <code>String</code> read
*
* @exception EOFException If end of file is reached before reading the
* @exception EOFException If end of file is reached before reading the
* String
* @exception UTFDataFormatException If the data is not in UTF-8 format
* @exception IOException If any other error occurs
@@ -728,11 +728,11 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
}
/**
* This method sets the current file position to the specified offset
* This method sets the current file position to the specified offset
* from the beginning of the file. Note that some operating systems will
* allow the file pointer to be set past the current end of the file.
*
* @param pos The offset from the beginning of the file at which to set
* @param pos The offset from the beginning of the file at which to set
* the file pointer
*
* @exception IOException If an error occurs
@@ -743,8 +743,8 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
}
/**
* This method attempts to skip and discard the specified number of bytes
* in the input stream. It may actually skip fewer bytes than requested.
* This method attempts to skip and discard the specified number of bytes
* in the input stream. It may actually skip fewer bytes than requested.
* The actual number of bytes skipped is returned. This method will not
* skip any bytes if passed a negative number of bytes to skip.
*
@@ -759,10 +759,10 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
if (numBytes < 0)
throw new IllegalArgumentException ("Can't skip negative bytes: " +
numBytes);
if (numBytes == 0)
return 0;
long oldPos = ch.position();
long newPos = oldPos + numBytes;
long size = ch.size();
@@ -821,7 +821,7 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
}
/**
* This method writes a Java <code>boolean</code> to the underlying output
* This method writes a Java <code>boolean</code> to the underlying output
* stream. For a value of <code>true</code>, 1 is written to the stream.
* For a value of <code>false</code>, 0 is written.
*
@@ -841,7 +841,7 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
* This method writes a Java <code>byte</code> value to the underlying
* output stream.
*
* @param val The <code>byte</code> to write to the stream, passed
* @param val The <code>byte</code> to write to the stream, passed
* as an <code>int</code>.
*
* @exception IOException If an error occurs
@@ -858,7 +858,7 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
* This method writes a Java <code>short</code> to the stream, high byte
* first. This method requires two bytes to encode the value.
*
* @param val The <code>short</code> value to write to the stream,
* @param val The <code>short</code> value to write to the stream,
* passed as an <code>int</code>.
*
* @exception IOException If an error occurs
@@ -875,7 +875,7 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
* This method writes a single <code>char</code> value to the stream,
* high byte first.
*
* @param val The <code>char</code> value to write, passed as
* @param val The <code>char</code> value to write, passed as
* an <code>int</code>.
*
* @exception IOException If an error occurs
@@ -922,7 +922,7 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
/**
* This method writes a Java <code>float</code> value to the stream. This
* value is written by first calling the method
* value is written by first calling the method
* <code>Float.floatToIntBits</code>
* to retrieve an <code>int</code> representing the floating point number,
* then writing this <code>int</code> value to the stream exactly the same
@@ -944,13 +944,13 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
/**
* This method writes a Java <code>double</code> value to the stream. This
* value is written by first calling the method
* value is written by first calling the method
* <code>Double.doubleToLongBits</code>
* to retrieve an <code>long</code> representing the floating point number,
* then writing this <code>long</code> value to the stream exactly the same
* as the <code>writeLong()</code> method does.
*
* @param val The double precision floating point number to write to the
* @param val The double precision floating point number to write to the
* stream.
*
* @exception IOException If an error occurs
@@ -981,7 +981,7 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
out.writeBytes(val);
}
/**
* This method writes all the characters in a <code>String</code> to the
* stream. There will be two bytes for each character value. The high
@@ -998,7 +998,7 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
out.writeChars(val);
}
/**
* This method writes a Java <code>String</code> to the stream in a modified
* UTF-8 format. First, two bytes are written to the stream indicating the
@@ -1006,10 +1006,10 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
* encoded <code>String</code> not the <code>String</code> length. Next
* come the encoded characters. Each character in the <code>String</code>
* is encoded as either one, two or three bytes. For characters in the
* range of <code>&#92;u0001</code> to <code>&#92;u007F</code>,
* range of <code>&#92;u0001</code> to <code>&#92;u007F</code>,
* one byte is used. The character
* value goes into bits 0-7 and bit eight is 0. For characters in the range
* of <code>&#92;u0080</code> to <code>&#92;u007FF</code>, two
* of <code>&#92;u0080</code> to <code>&#92;u007FF</code>, two
* bytes are used. Bits
* 6-10 of the character value are encoded bits 0-4 of the first byte, with
* the high bytes having a value of "110". Bits 0-5 of the character value
@@ -1035,7 +1035,7 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable
out.writeUTF(val);
}
/**
* This method creates a java.nio.channels.FileChannel.
* Nio does not allow one to create a file channel directly.
+28 -28
View File
@@ -7,7 +7,7 @@ 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
@@ -36,7 +36,7 @@ obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
package java.io;
import java.nio.CharBuffer;
/* Written using "Java Class Libraries", 2nd edition, plus online
@@ -52,18 +52,18 @@ import java.nio.CharBuffer;
* or network connection.
*
* @author Per Bothner (bothner@cygnus.com)
* @date April 21, 1998.
* @author Aaron M. Renn (arenn@urbanophile.com)
* @date April 21, 1998.
* @author Aaron M. Renn (arenn@urbanophile.com)
*/
public abstract class Reader implements Closeable, Readable
{
/**
* This is the <code>Object</code> used for synchronizing critical code
* sections. Subclasses should use this variable instead of a
* sections. Subclasses should use this variable instead of a
* synchronized method or an explicit synchronization on <code>this</code>
*/
protected Object lock;
/**
* Unitializes a <code>Reader</code> that will use the object
* itself for synchronization of critical code sections.
@@ -86,10 +86,10 @@ public abstract class Reader implements Closeable, Readable
/**
* Read chars from a stream and stores them into a caller
* supplied buffer. It starts storing the data at index <code>offset</code>
* into the buffer and attempts to read <code>len</code> chars. This method
* can return before reading the number of chars requested. The actual
* number of chars read is returned as an int. A -1 is returned to indicate
* supplied buffer. It starts storing the data at index <code>offset</code>
* into the buffer and attempts to read <code>len</code> chars. This method
* can return before reading the number of chars requested. The actual
* number of chars read is returned as an int. A -1 is returned to indicate
* the end of the stream.
* <p>
* This method will block until some data can be read.
@@ -113,7 +113,7 @@ public abstract class Reader implements Closeable, Readable
*/
public abstract int read(char buf[], int offset, int count)
throws IOException;
/**
* Reads chars from a stream and stores them into a caller
* supplied buffer. This method attempts to completely fill the buffer,
@@ -182,10 +182,10 @@ public abstract class Reader implements Closeable, Readable
* point.
* <p>
* This method always returns <code>false</code> in this class, but
* subclasses can override this method to return <code>true</code> if they
* subclasses can override this method to return <code>true</code> if they
* support mark/reset functionality.
*
* @return <code>true</code> if mark/reset functionality is supported,
* @return <code>true</code> if mark/reset functionality is supported,
* <code>false</code> otherwise
*
*/
@@ -197,17 +197,17 @@ public abstract class Reader implements Closeable, Readable
/**
* Marks a position in the input to which the stream can be
* "reset" by calling the <code>reset()</code> method. The parameter
* <code>readlimit</code> is the number of chars that can be read from the
* <code>readlimit</code> is the number of chars that can be read from the
* stream after setting the mark before the mark becomes invalid. For
* example, if <code>mark()</code> is called with a read limit of 10, then
* when 11 chars of data are read from the stream before the
* <code>reset()</code> method is called, then the mark is invalid and the
* example, if <code>mark()</code> is called with a read limit of 10, then
* when 11 chars of data are read from the stream before the
* <code>reset()</code> method is called, then the mark is invalid and the
* stream object instance is not required to remember the mark.
*
* @param readLimit The number of chars that can be read before the mark
* @param readLimit The number of chars that can be read before the mark
* becomes invalid
*
* @exception IOException If an error occurs such as mark not being
* @exception IOException If an error occurs such as mark not being
* supported for this class
*/
public void mark(int readLimit) throws IOException
@@ -216,8 +216,8 @@ public abstract class Reader implements Closeable, Readable
}
/**
* Resets a stream to the point where the <code>mark()</code>
* method was called. Any chars that were read after the mark point was
* Resets a stream to the point where the <code>mark()</code>
* method was called. Any chars that were read after the mark point was
* set will be re-read during subsequent reads.
* <p>
* This method always throws an IOException in this class, but subclasses
@@ -237,7 +237,7 @@ public abstract class Reader implements Closeable, Readable
* <p>
* This method always returns <code>false</code> in this class
*
* @return <code>true</code> if the stream is ready to be read,
* @return <code>true</code> if the stream is ready to be read,
* <code>false</code> otherwise.
*
* @exception IOException If an error occurs
@@ -274,12 +274,12 @@ public abstract class Reader implements Closeable, Readable
synchronized (lock)
{
while (todo > 0)
{
int skipped = read(buffer, 0, bsize > todo ? (int) todo : bsize);
if (skipped <= 0)
break;
todo -= skipped;
}
{
int skipped = read(buffer, 0, bsize > todo ? (int) todo : bsize);
if (skipped <= 0)
break;
todo -= skipped;
}
}
return count - todo;
}
@@ -7,7 +7,7 @@ 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
@@ -45,7 +45,7 @@ import java.util.Enumeration;
* plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
* Status: Believed complete and correct.
*/
/**
* This class merges a sequence of multiple <code>InputStream</code>'s in
* order to form a single logical stream that can be read by applications
@@ -126,7 +126,7 @@ public class SequenceInputStream extends InputStream
/**
* Closes this stream. This will cause any remaining unclosed subordinate
* <code>InputStream</code>'s to be closed as well. Subsequent attempts to
* <code>InputStream</code>'s to be closed as well. Subsequent attempts to
* read from this stream may cause an exception.
*
* @exception IOException If an error occurs
@@ -135,8 +135,8 @@ public class SequenceInputStream extends InputStream
{
while (in != null)
{
in.close();
in = getNextStream ();
in.close();
in = getNextStream ();
}
}
@@ -158,7 +158,7 @@ public class SequenceInputStream extends InputStream
while (in != null && (ch = in.read()) < 0)
{
in.close();
in.close();
in = getNextStream();
}
@@ -192,7 +192,7 @@ public class SequenceInputStream extends InputStream
// don't bother doing it here.
while (in != null && (ch = in.read(b, off, len)) < 0)
{
in.close();
in.close();
in = getNextStream();
}
@@ -210,12 +210,12 @@ public class SequenceInputStream extends InputStream
if (e != null)
{
if (e.hasMoreElements())
nextIn = e.nextElement();
nextIn = e.nextElement();
}
else if (in2 != null)
{
nextIn = in2;
in2 = null;
nextIn = in2;
in2 = null;
}
return nextIn;
+1 -1
View File
@@ -7,7 +7,7 @@ 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
@@ -7,7 +7,7 @@ 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
@@ -60,19 +60,19 @@ import java.security.BasicPermission;
public final class SerializablePermission extends BasicPermission
{
static final long serialVersionUID = 8537212141160296410L;
/*
* Class Variables
*/
private static final String[] legal_names = { "enableSubclassImplementation",
"enableSubstitution" };
"enableSubstitution" };
/*
* Constructors
*/
/**
* This method initializes a new instance of
* This method initializes a new instance of
* <code>SerializablePermission</code>
* that has the specified name.
*
@@ -87,7 +87,7 @@ public final class SerializablePermission extends BasicPermission
}
/**
* This method initializes a new instance of
* This method initializes a new instance of
* <code>SerializablePermission</code>
* that has the specified name and action list. Note that the action list
* is unused in this class.
@@ -95,7 +95,7 @@ public final class SerializablePermission extends BasicPermission
* @param name The name of the permission.
* @param actions The action list (unused).
*
* @exception IllegalArgumentException If the name is not valid for
* @exception IllegalArgumentException If the name is not valid for
* this class.
*/
public SerializablePermission(String name, String actions)
@@ -110,4 +110,3 @@ public final class SerializablePermission extends BasicPermission
}
} // class SerializablePermission
+188 -188
View File
@@ -7,7 +7,7 @@ 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
@@ -41,18 +41,18 @@ import gnu.java.lang.CPStringBuilder;
/**
* This class parses streams of characters into tokens. There are a
* million-zillion flags that can be set to control the parsing, as
* million-zillion flags that can be set to control the parsing, as
* described under the various method headings.
*
* @author Warren Levy (warrenl@cygnus.com)
* @date October 25, 1998.
* @date October 25, 1998.
*/
/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
* "The Java Language Specification", ISBN 0-201-63451-1
* plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
* Status: Believed complete and correct.
*/
public class StreamTokenizer
{
/** A constant indicating that the end of the stream has been read. */
@@ -74,7 +74,7 @@ public class StreamTokenizer
* Contains the type of the token read resulting from a call to nextToken
* The rules are as follows:
* <ul>
* <li>For a token consisting of a single ordinary character, this is the
* <li>For a token consisting of a single ordinary character, this is the
* value of that character.</li>
* <li>For a quoted string, this is the value of the quote character</li>
* <li>For a word, this is TT_WORD</li>
@@ -134,7 +134,7 @@ public class StreamTokenizer
}
/**
* This method initializes a new <code>StreamTokenizer</code> to read
* This method initializes a new <code>StreamTokenizer</code> to read
* characters from a <code>Reader</code> and parse them. The char values
* have their hight bits masked so that the value is treated a character
* in the range of 0x0000 to 0x00FF.
@@ -178,11 +178,11 @@ public class StreamTokenizer
{
if (ch >= 0 && ch <= 255)
{
comment[ch] = true;
whitespace[ch] = false;
alphabetic[ch] = false;
numeric[ch] = false;
quote[ch] = false;
comment[ch] = true;
whitespace[ch] = false;
alphabetic[ch] = false;
numeric[ch] = false;
quote[ch] = false;
}
}
@@ -199,7 +199,7 @@ public class StreamTokenizer
}
/**
* This method returns the current line number. Note that if the
* This method returns the current line number. Note that if the
* <code>pushBack()</code> method is called, it has no effect on the
* line number returned by this method.
*
@@ -213,7 +213,7 @@ public class StreamTokenizer
/**
* This method sets a flag that indicates whether or not alphabetic
* tokens that are returned should be converted to lower case.
*
*
* @param flag <code>true</code> to convert to lower case,
* <code>false</code> otherwise
*/
@@ -248,8 +248,8 @@ public class StreamTokenizer
}
/**
* This method reads the next token from the stream. It sets the
* <code>ttype</code> variable to the appropriate token type and
* This method reads the next token from the stream. It sets the
* <code>ttype</code> variable to the appropriate token type and
* returns it. It also can set <code>sval</code> or <code>nval</code>
* as described below. The parsing strategy is as follows:
* <ul>
@@ -266,13 +266,13 @@ public class StreamTokenizer
* is stored in <code>sval</code>. If lower case mode is set, the token
* stored in <code>sval</code> is converted to lower case. The end of line
* sequence terminates a word only if EOL signficance has been turned on.
* The start of a comment also terminates a word. Any character with a
* The start of a comment also terminates a word. Any character with a
* non-alphabetic and non-numeric attribute (such as white space, a quote,
* or a commet) are treated as non-alphabetic and terminate the word.</li>
* <li>If a comment character is parsed, then all remaining characters on
* the current line are skipped and another token is parsed. Any EOL or
* EOF's encountered are not discarded, but rather terminate the comment.</li>
* <li>If a quote character is parsed, then all characters up to the
* <li>If a quote character is parsed, then all characters up to the
* second occurrence of the same quote character are parsed into a
* <code>String</code>. This <code>String</code> is stored as
* <code>sval</code>, but is not converted to lower case, even if lower case
@@ -281,7 +281,7 @@ public class StreamTokenizer
* (\b (backspace), \t (HTAB), \n (linefeed), \f (form feed), \r
* (carriage return), \" (double quote), \' (single quote), \\
* (backslash), \XXX (octal esacpe)) are converted to the appropriate
* char values. Invalid esacape sequences are left in untranslated.
* char values. Invalid esacape sequences are left in untranslated.
* Unicode characters like ('\ u0000') are not recognized. </li>
* <li>If the C++ comment sequence "//" is encountered, and the parser
* is configured to handle that sequence, then the remainder of the line
@@ -303,9 +303,9 @@ public class StreamTokenizer
{
if (pushedBack)
{
pushedBack = false;
if (ttype != TT_NONE)
return ttype;
pushedBack = false;
if (ttype != TT_NONE)
return ttype;
}
sval = null;
@@ -314,196 +314,196 @@ public class StreamTokenizer
// Skip whitespace. Deal with EOL along the way.
while (isWhitespace(ch = in.read()))
if (ch == '\n' || ch == '\r')
{
lineNumber++;
{
lineNumber++;
// Throw away \n if in combination with \r.
if (ch == '\r' && (ch = in.read()) != '\n')
{
if (ch != TT_EOF)
in.unread(ch);
}
if (eolSignificant)
return (ttype = TT_EOL);
}
// Throw away \n if in combination with \r.
if (ch == '\r' && (ch = in.read()) != '\n')
{
if (ch != TT_EOF)
in.unread(ch);
}
if (eolSignificant)
return (ttype = TT_EOL);
}
if (ch == '/')
if ((ch = in.read()) == '/' && slashSlash)
{
while ((ch = in.read()) != '\n' && ch != '\r' && ch != TT_EOF)
;
if (ch != TT_EOF)
in.unread(ch);
return nextToken(); // Recursive, but not too deep in normal cases
}
else if (ch == '*' && slashStar)
{
while (true)
{
ch = in.read();
if (ch == '*')
{
if ((ch = in.read()) == '/')
break;
else if (ch != TT_EOF)
in.unread(ch);
}
else if (ch == '\n' || ch == '\r')
{
lineNumber++;
if (ch == '\r' && (ch = in.read()) != '\n')
{
if (ch != TT_EOF)
in.unread(ch);
}
}
else if (ch == TT_EOF)
{
break;
}
}
return nextToken(); // Recursive, but not too deep in normal cases
}
{
while ((ch = in.read()) != '\n' && ch != '\r' && ch != TT_EOF)
;
if (ch != TT_EOF)
in.unread(ch);
return nextToken(); // Recursive, but not too deep in normal cases
}
else if (ch == '*' && slashStar)
{
while (true)
{
ch = in.read();
if (ch == '*')
{
if ((ch = in.read()) == '/')
break;
else if (ch != TT_EOF)
in.unread(ch);
}
else if (ch == '\n' || ch == '\r')
{
lineNumber++;
if (ch == '\r' && (ch = in.read()) != '\n')
{
if (ch != TT_EOF)
in.unread(ch);
}
}
else if (ch == TT_EOF)
{
break;
}
}
return nextToken(); // Recursive, but not too deep in normal cases
}
else
{
if (ch != TT_EOF)
in.unread(ch);
ch = '/';
}
{
if (ch != TT_EOF)
in.unread(ch);
ch = '/';
}
if (ch == TT_EOF)
ttype = TT_EOF;
else if (isNumeric(ch))
{
boolean isNegative = false;
if (ch == '-')
{
// Read ahead to see if this is an ordinary '-' rather than numeric.
ch = in.read();
if (isNumeric(ch) && ch != '-')
{
isNegative = true;
}
else
{
if (ch != TT_EOF)
in.unread(ch);
return (ttype = '-');
}
}
boolean isNegative = false;
if (ch == '-')
{
// Read ahead to see if this is an ordinary '-' rather than numeric.
ch = in.read();
if (isNumeric(ch) && ch != '-')
{
isNegative = true;
}
else
{
if (ch != TT_EOF)
in.unread(ch);
return (ttype = '-');
}
}
CPStringBuilder tokbuf = new CPStringBuilder();
tokbuf.append((char) ch);
CPStringBuilder tokbuf = new CPStringBuilder();
tokbuf.append((char) ch);
int decCount = 0;
while (isNumeric(ch = in.read()) && ch != '-')
if (ch == '.' && decCount++ > 0)
break;
else
tokbuf.append((char) ch);
int decCount = 0;
while (isNumeric(ch = in.read()) && ch != '-')
if (ch == '.' && decCount++ > 0)
break;
else
tokbuf.append((char) ch);
if (ch != TT_EOF)
in.unread(ch);
ttype = TT_NUMBER;
try
{
nval = Double.valueOf(tokbuf.toString()).doubleValue();
}
catch (NumberFormatException _)
{
nval = 0.0;
}
if (isNegative)
nval = -nval;
if (ch != TT_EOF)
in.unread(ch);
ttype = TT_NUMBER;
try
{
nval = Double.valueOf(tokbuf.toString()).doubleValue();
}
catch (NumberFormatException _)
{
nval = 0.0;
}
if (isNegative)
nval = -nval;
}
else if (isAlphabetic(ch))
{
CPStringBuilder tokbuf = new CPStringBuilder();
tokbuf.append((char) ch);
while (isAlphabetic(ch = in.read()) || isNumeric(ch))
tokbuf.append((char) ch);
if (ch != TT_EOF)
in.unread(ch);
ttype = TT_WORD;
sval = tokbuf.toString();
if (lowerCase)
sval = sval.toLowerCase();
CPStringBuilder tokbuf = new CPStringBuilder();
tokbuf.append((char) ch);
while (isAlphabetic(ch = in.read()) || isNumeric(ch))
tokbuf.append((char) ch);
if (ch != TT_EOF)
in.unread(ch);
ttype = TT_WORD;
sval = tokbuf.toString();
if (lowerCase)
sval = sval.toLowerCase();
}
else if (isComment(ch))
{
while ((ch = in.read()) != '\n' && ch != '\r' && ch != TT_EOF)
;
if (ch != TT_EOF)
in.unread(ch);
return nextToken(); // Recursive, but not too deep in normal cases.
while ((ch = in.read()) != '\n' && ch != '\r' && ch != TT_EOF)
;
if (ch != TT_EOF)
in.unread(ch);
return nextToken(); // Recursive, but not too deep in normal cases.
}
else if (isQuote(ch))
{
ttype = ch;
CPStringBuilder tokbuf = new CPStringBuilder();
while ((ch = in.read()) != ttype && ch != '\n' && ch != '\r' &&
ch != TT_EOF)
{
if (ch == '\\')
switch (ch = in.read())
{
case 'a': ch = 0x7;
break;
case 'b': ch = '\b';
break;
case 'f': ch = 0xC;
break;
case 'n': ch = '\n';
break;
case 'r': ch = '\r';
break;
case 't': ch = '\t';
break;
case 'v': ch = 0xB;
break;
case '\n': ch = '\n';
break;
ttype = ch;
CPStringBuilder tokbuf = new CPStringBuilder();
while ((ch = in.read()) != ttype && ch != '\n' && ch != '\r' &&
ch != TT_EOF)
{
if (ch == '\\')
switch (ch = in.read())
{
case 'a': ch = 0x7;
break;
case 'b': ch = '\b';
break;
case 'f': ch = 0xC;
break;
case 'n': ch = '\n';
break;
case 'r': ch = '\r';
break;
case 't': ch = '\t';
break;
case 'v': ch = 0xB;
break;
case '\n': ch = '\n';
break;
case '\r': ch = '\r';
break;
case '\"':
case '\'':
case '\\':
break;
default:
int ch1, nextch;
if ((nextch = ch1 = ch) >= '0' && ch <= '7')
{
ch -= '0';
if ((nextch = in.read()) >= '0' && nextch <= '7')
{
ch = ch * 8 + nextch - '0';
if ((nextch = in.read()) >= '0' && nextch <= '7' &&
ch1 >= '0' && ch1 <= '3')
{
ch = ch * 8 + nextch - '0';
nextch = in.read();
}
}
}
break;
case '\"':
case '\'':
case '\\':
break;
default:
int ch1, nextch;
if ((nextch = ch1 = ch) >= '0' && ch <= '7')
{
ch -= '0';
if ((nextch = in.read()) >= '0' && nextch <= '7')
{
ch = ch * 8 + nextch - '0';
if ((nextch = in.read()) >= '0' && nextch <= '7' &&
ch1 >= '0' && ch1 <= '3')
{
ch = ch * 8 + nextch - '0';
nextch = in.read();
}
}
}
if (nextch != TT_EOF)
in.unread(nextch);
}
if (nextch != TT_EOF)
in.unread(nextch);
}
tokbuf.append((char) ch);
}
tokbuf.append((char) ch);
}
// Throw away matching quote char.
if (ch != ttype && ch != TT_EOF)
in.unread(ch);
// Throw away matching quote char.
if (ch != ttype && ch != TT_EOF)
in.unread(ch);
sval = tokbuf.toString();
sval = tokbuf.toString();
}
else
{
ttype = ch;
ttype = ch;
}
return ttype;
@@ -591,11 +591,11 @@ public class StreamTokenizer
{
if (ch >= 0 && ch <= 255)
{
quote[ch] = true;
comment[ch] = false;
whitespace[ch] = false;
alphabetic[ch] = false;
numeric[ch] = false;
quote[ch] = true;
comment[ch] = false;
whitespace[ch] = false;
alphabetic[ch] = false;
numeric[ch] = false;
}
}
@@ -692,8 +692,8 @@ public class StreamTokenizer
hi = 255;
for (int i = low; i <= hi; i++)
{
resetChar(i);
whitespace[i] = true;
resetChar(i);
whitespace[i] = true;
}
}
@@ -7,7 +7,7 @@ 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
@@ -43,7 +43,7 @@ package java.io;
* plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
* Status: Believed complete and correct. Deprecated in JDK 1.1.
*/
/**
* This class permits a <code>String</code> to be read as an input stream.
* The low eight bits of each character in the <code>String</code> are the
@@ -51,10 +51,10 @@ package java.io;
* discarded.
* <p>
* The mark/reset functionality in this class behaves differently than
* normal. The <code>mark()</code> method is always ignored and the
* <code>reset()</code> method always resets in stream to start reading from
* position 0 in the String. Note that since this method does not override
* <code>markSupported()</code> in <code>InputStream</code>, calling that
* normal. The <code>mark()</code> method is always ignored and the
* <code>reset()</code> method always resets in stream to start reading from
* position 0 in the String. Note that since this method does not override
* <code>markSupported()</code> in <code>InputStream</code>, calling that
* method will return <code>false</code>.
* <p>
* Note that this class is deprecated because it does not properly handle
@@ -104,7 +104,7 @@ public class StringBufferInputStream extends InputStream
}
/**
* This method reads one byte from the stream. The <code>pos</code> counter
* This method reads one byte from the stream. The <code>pos</code> counter
* is advanced to the next byte to be read. The byte read is returned as
* an int in the range of 0-255. If the stream position is already at the
* end of the buffer, no byte is read and a -1 is returned in order to
@@ -115,18 +115,18 @@ public class StringBufferInputStream extends InputStream
public int read()
{
if (pos >= count)
return -1; // EOF
return -1; // EOF
return ((int) buffer.charAt(pos++)) & 0xFF;
}
/**
* This method reads bytes from the stream and stores them into a caller
* supplied buffer. It starts storing the data at index <code>offset</code>
* supplied buffer. It starts storing the data at index <code>offset</code>
* into the buffer and attempts to read <code>len</code> bytes. This method
* can return before reading the number of bytes requested if the end of the
* stream is encountered first. The actual number of bytes read is
* returned. If no bytes can be read because the stream is already at
* stream is encountered first. The actual number of bytes read is
* returned. If no bytes can be read because the stream is already at
* the end of stream position, a -1 is returned.
* <p>
* This method does not block.
@@ -143,7 +143,7 @@ public class StringBufferInputStream extends InputStream
throw new ArrayIndexOutOfBoundsException();
if (pos >= count)
return -1; // EOF
return -1; // EOF
int numRead = Math.min(len, count - pos);
if (numRead < 0)
+6 -7
View File
@@ -7,7 +7,7 @@ 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
@@ -44,7 +44,7 @@ package java.io;
*/
/**
* This class permits a <code>String</code> to be read as a character
* This class permits a <code>String</code> to be read as a character
* input stream.
* <p>
* The mark/reset functionality in this class behaves differently than
@@ -53,7 +53,7 @@ package java.io;
*
* @author Aaron M. Renn (arenn@urbanophile.com)
* @author Warren Levy (warrenl@cygnus.com)
* @date October 19, 1998.
* @date October 19, 1998.
*/
public class StringReader extends Reader
{
@@ -70,8 +70,8 @@ public class StringReader extends Reader
private int count;
/**
* Create a new <code>StringReader</code> that will read chars from the
* passed in <code>String</code>. This stream will read from the beginning
* Create a new <code>StringReader</code> that will read chars from the
* passed in <code>String</code>. This stream will read from the beginning
* to the end of the <code>String</code>.
*
* @param buffer The <code>String</code> this stream will read from.
@@ -180,7 +180,7 @@ public class StringReader extends Reader
/**
* This method attempts to skip the requested number of chars in the
* input stream. It does this by advancing the <code>pos</code> value by
* input stream. It does this by advancing the <code>pos</code> value by
* the specified number of chars. It this would exceed the length of the
* buffer, then only enough chars are skipped to position the stream at
* the end of the buffer. The actual number of chars skipped is returned.
@@ -206,4 +206,3 @@ public class StringReader extends Reader
}
}
}
+3 -3
View File
@@ -7,7 +7,7 @@ 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
@@ -118,7 +118,7 @@ public class StringWriter extends Writer
* as a <code>String</code>.
*
* @return A <code>String</code> representing the chars written to
* this stream.
* this stream.
*/
public String toString ()
{
@@ -170,7 +170,7 @@ public class StringWriter extends Writer
* @param str The <code>String</code> to write characters from
* @param offset The character position to start writing from
* @param len The number of characters to write.
*/
*/
public void write (String str, int offset, int len)
{
// char[] tmpbuf = new char[len];
@@ -39,7 +39,7 @@ exception statement from your version. */
package java.io;
/**
* This exception is thrown when the requested character encoding is
* This exception is thrown when the requested character encoding is
* not supported.
*
* @author Aaron M. Renn (arenn@urbanophile.com)
+11 -11
View File
@@ -7,7 +7,7 @@ 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
@@ -44,10 +44,10 @@ package java.io;
*/
/**
* This abstract class forms the base of the hierarchy of classes that
* This abstract class forms the base of the hierarchy of classes that
* write output as a stream of chars. It provides a common set of methods
* for writing chars to stream. Subclasses implement and/or extend these
* methods to write chars in a particular manner or to a particular
* methods to write chars in a particular manner or to a particular
* destination such as a file on disk or network connection.
*
* @author Aaron M. Renn (arenn@urbanophile.com)
@@ -98,7 +98,7 @@ public abstract class Writer implements Appendable, Closeable, Flushable
public abstract void flush() throws IOException;
/**
* This method closes the stream. Any internal or native resources
* This method closes the stream. Any internal or native resources
* associated
* with this stream are freed. Any subsequent attempt to access the stream
* might throw an exception.
@@ -110,7 +110,7 @@ public abstract class Writer implements Appendable, Closeable, Flushable
public abstract void close() throws IOException;
/**
* This method writes a single char to the output stream.
* This method writes a single char to the output stream.
*
* @param b The char to be written to the output stream, passed as an int
*
@@ -125,8 +125,8 @@ public abstract class Writer implements Appendable, Closeable, Flushable
}
/**
* This method all the writes char from the passed array to the output
* stream. This method is equivalent to
* This method all the writes char from the passed array to the output
* stream. This method is equivalent to
* <code>write(buf, 0, buf.length)</code> which
* is exactly how it is implemented in this class.
*
@@ -148,10 +148,10 @@ public abstract class Writer implements Appendable, Closeable, Flushable
* @param buf The array of char to write from
* @param offset The index into the array to start writing from
* @param len The number of char to write
*
*
* @exception IOException If an error occurs
*/
public abstract void write(char[] buf, int offset, int len)
public abstract void write(char[] buf, int offset, int len)
throws IOException;
/**
@@ -165,7 +165,7 @@ public abstract class Writer implements Appendable, Closeable, Flushable
public void write(String str) throws IOException
{
write(str, 0, str.length());
}
}
/**
* This method writes <code>len</code> chars from the <code>String</code>
@@ -180,7 +180,7 @@ public abstract class Writer implements Appendable, Closeable, Flushable
*/
public void write(String str, int offset, int len) throws IOException
{
// FIXME - for libgcj re-write using native code to not require
// FIXME - for libgcj re-write using native code to not require
// copied buffer.
char[] buf = new char[len];