1 /*
2  * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * This code is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License version 2 only, as
7  * published by the Free Software Foundation.
8  *
9  * This code is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12  * version 2 for more details (a copy is included in the LICENSE file that
13  * accompanied this code).
14  *
15  * You should have received a copy of the GNU General Public License version
16  * 2 along with this work; if not, write to the Free Software Foundation,
17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18  *
19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20  * or visit www.oracle.com if you need additional information or have any
21  * questions.
22  */
23 
24 /**
25  * @test
26  * @bug 4160204 4234488
27  * @summary Create empty javadoc comments and verify that javac does not crash.
28  * @compile EmptyDocComments.java
29  */
30 
31 // WARNING: This file intentionally contains whitespace characters at the end of
32 // some lines.  Do not delete them!
33 
34 // If this file fails to compile, then the test has failed.  The test does not
35 // need to be run.
36 
37 public class EmptyDocComments
38 {
Main(String [] args)39     public static void Main(String [] args)
40     {
41     }
42 
43     // Verify that empty doc comments don't cause a crash.
44 
45     /**
46      *  */
emptyDocComment0()47     public static void emptyDocComment0()
48     {
49         System.out.println("javadoc comment");
50         System.out.println("- contains whitespace");
51         System.out.println("- ends on same line as potential comment");
52     }
53 
54     /**
55      ***/
emptyDocComment1()56     public static void emptyDocComment1()
57     {
58         System.out.println("javadoc comment");
59         System.out.println("- contains nothing");
60         System.out.println("- ends on same line as potential comment");
61     }
62 
63     /** */
emptyDocComment2()64     public static void emptyDocComment2()
65     {
66         System.out.println("javadoc comment");
67         System.out.println("- contains whitespace");
68         System.out.println("- ends on same line as comment start");
69     }
70 
71     /**
72       *
73       */
emptyDocComment3()74     public static void emptyDocComment3()
75     {
76         System.out.println("javadoc comment");
77         System.out.println("- contains whitespace");
78         System.out.println("- ends on new line ");
79     }
80 
81     /***/
emptyDocComment4()82     public static void emptyDocComment4()
83     {
84         System.out.println("minimal javadoc comment");
85         System.out.println("- contains nothing");
86         System.out.println("- ends on same line as comment start");
87     }
88 
89     /**/
emptyDocComment5()90     public static void emptyDocComment5()
91     {
92         System.out.println("minimal _java_ comment");
93         System.out.println("- contains nothing");
94         System.out.println("- ends on same line as comment start");
95     }
96 
97     /** **** */
emptyDocComment6()98     public static void emptyDocComment6()
99     {
100         System.out.println("javadoc comment");
101         System.out.println("- contains \"*\"");
102         System.out.println("- ends on same line as comment start");
103     }
104 
105     // Verify that we properly handle very small, non-empty comments.
106 
107     /** a */
singleChar0()108     public static void singleChar0()
109     {
110         System.out.println("javadoc comment");
111         System.out.println("- contains a single character");
112         System.out.println("- ends on same line as comment start");
113     }
114 
115     /**
116      * a      */
singleChar1()117     public static void singleChar1()
118     {
119         System.out.println("javadoc comment");
120         System.out.println("- contains a single character and trailing whitespace");
121         System.out.println("- ends on same line as potential comment");
122     }
123 
124     /**
125      * a
126      */
singleChar2()127     public static void singleChar2()
128     {
129         System.out.println("javadoc comment");
130         System.out.println("- contains a single character, no trailing whitespace");
131         System.out.println("- ends on new line ");
132     }
133 
134     /**
135        a
136      */
singleChar3()137     public static void singleChar3()
138     {
139         System.out.println("javadoc comment");
140         System.out.println("- contains a single character and trailing whitespace");
141         System.out.println("- ends on new line ");
142     }
143 }
144