--- old/src/java.corba/share/classes/com/sun/tools/corba/se/idl/Comment.java 2018-01-30 20:24:18.000000000 -0500 +++ /dev/null 2018-01-30 20:24:18.000000000 -0500 @@ -1,208 +0,0 @@ -/* - * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -/* - * COMPONENT_NAME: idl.parser - * - * ORIGINS: 27 - * - * Licensed Materials - Property of IBM - * 5639-D57 (C) COPYRIGHT International Business Machines Corp. 1997, 1999 - * RMI-IIOP v1.0 - * - */ - -package com.sun.tools.corba.se.idl; - -// NOTES: - -import java.io.PrintWriter; -import java.io.IOException; -import java.util.StringTokenizer; - -public class Comment -{ - // Styles - static final int UNKNOWN = -1; - static final int JAVA_DOC = 0; - static final int C_BLOCK = 1; - static final int CPP_LINE = 2; - - // System-dependent line separator - private static String _eol = System.getProperty ("line.separator"); - - private String _text = new String (""); - private int _style = UNKNOWN; - - Comment () {_text = new String (""); _style = UNKNOWN;} // ctor - - Comment (String text) {_text = text; _style = style (_text);} // ctor - - /** Sets comment text */ - public void text (String string) {_text = string; _style = style (_text);} - - /** Returns comment text */ - public String text () {return _text;} - - /** Returns the comment style of a string. */ - private int style (String text) - { - if (text == null) - return UNKNOWN; - else if (text.startsWith ("/**") && text.endsWith ("*/")) - return JAVA_DOC; - else if (text.startsWith ("/*") && text.endsWith ("*/")) - return C_BLOCK; - else if (text.startsWith ("//")) - return CPP_LINE; - else - return UNKNOWN; - } // style - - /** Writes comment text to standard output (debug). */ - public void write () {System.out.println (_text);} - - /** Writes comment text to the specified print stream in the appropriate format. */ - public void generate (String indent, PrintWriter printStream) - { - if (_text == null || printStream == null) - return; - if (indent == null) - indent = new String (""); - switch (_style) - { - case JAVA_DOC: - //printJavaDoc (indent, printStream); - print (indent, printStream); - break; - case C_BLOCK: - //printCBlock (indent, printStream); - print (indent, printStream); - break; - case CPP_LINE: - //printCppLine (indent, printStream); - print (indent, printStream); - break; - default: - break; - } - } // generate - - /** Writes comment to the specified print stream without altering its format. - This routine does not alter vertical or horizontal spacing of comment text, - thus, it only works well for comments with a non-indented first line. */ - private void print (String indent, PrintWriter stream) - { - String text = _text.trim () + _eol; - String line = null; - - int iLineStart = 0; - int iLineEnd = text.indexOf (_eol); - int iTextEnd = text.length () - 1; - - stream.println (); - while (iLineStart < iTextEnd) - { - line = text.substring (iLineStart, iLineEnd); - stream.println (indent + line); - iLineStart = iLineEnd + _eol.length (); - iLineEnd = iLineStart + text.substring (iLineStart).indexOf (_eol); - } - } // print - - /* - * The following routines print formatted comments of differing styles. - * Each routine will alter the horizontal spacing of the comment text, - * but not the vertical spacing. - */ - - /** Writes comment in JavaDoc-style to the specified print stream. */ - private void printJavaDoc (String indent, PrintWriter stream) - { - // Strip surrounding "/**", "*/", and whitespace; append sentinel - String text = _text.substring (3, (_text.length () - 2)).trim () + _eol; - String line = null; - - int iLineStart = 0; - int iLineEnd = text.indexOf (_eol); - int iTextEnd = text.length () - 1; // index of last text character - - stream.println (_eol + indent + "/**"); - while (iLineStart < iTextEnd) - { - line = text.substring (iLineStart, iLineEnd).trim (); - if (line.startsWith ("*")) - // Strip existing "*" prefix - stream.println (indent + " * " + line.substring (1, line.length ()).trim ()); - else - stream.println (indent + " * " + line); - iLineStart = iLineEnd + _eol.length (); - iLineEnd = iLineStart + text.substring (iLineStart).indexOf (_eol); - } - stream.println (indent + " */"); - } // printJavaDoc - - /** Writes comment in c-block-style to the specified print stream. */ - private void printCBlock (String indent, PrintWriter stream) - { - // Strip surrounding "/*", "*/", and whitespace; append sentinel - String text = _text.substring (2, (_text.length () - 2)).trim () + _eol; - String line = null; - - int iLineStart = 0; - int iLineEnd = text.indexOf (_eol); - int iTextEnd = text.length () - 1; // index of last text character - - stream.println (indent + "/*"); - while (iLineStart < iTextEnd) - { - line = text.substring (iLineStart, iLineEnd).trim (); - if (line.startsWith ("*")) - // Strip existing "*[ws]" prefix - stream.println (indent + " * " + line.substring (1, line.length ()).trim ()); - else - stream.println (indent + " * " + line); - iLineStart = iLineEnd + _eol.length (); - iLineEnd = iLineStart + text.substring (iLineStart).indexOf (_eol); - } - stream.println (indent + " */"); - } // printCBlock - - /** Writes a line comment to the specified print stream. */ - private void printCppLine (String indent, PrintWriter stream) - { - stream.println (indent + "//"); - // Strip "//[ws]" prefix - stream.println (indent + "// " + _text.substring (2).trim ()); - stream.println (indent + "//"); - } // printCppLine -} // class Comment - - -/*================================================================================== - DATE ACTION - ---------------------------------------------------------------------------------- - 11aug1997 Initial version completed. - 18aug1997 Modified generate to write comment unformatted. - ==================================================================================*/