xref: /aosp_15_r20/external/ksp/test-utils/testData/api/docString.kt (revision af87fb4bb8e3042070d2a054e912924f599b22b7)
1*af87fb4bSXin Li /*
2*af87fb4bSXin Li  * Copyright 2020 Google LLC
3*af87fb4bSXin Li  * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
4*af87fb4bSXin Li  *
5*af87fb4bSXin Li  * Licensed under the Apache License, Version 2.0 (the "License");
6*af87fb4bSXin Li  * you may not use this file except in compliance with the License.
7*af87fb4bSXin Li  * You may obtain a copy of the License at
8*af87fb4bSXin Li  *
9*af87fb4bSXin Li  * http://www.apache.org/licenses/LICENSE-2.0
10*af87fb4bSXin Li  *
11*af87fb4bSXin Li  * Unless required by applicable law or agreed to in writing, software
12*af87fb4bSXin Li  * distributed under the License is distributed on an "AS IS" BASIS,
13*af87fb4bSXin Li  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*af87fb4bSXin Li  * See the License for the specific language governing permissions and
15*af87fb4bSXin Li  * limitations under the License.
16*af87fb4bSXin Li  */
17*af87fb4bSXin Li 
18*af87fb4bSXin Li // TEST PROCESSOR: DocStringProcessor
19*af87fb4bSXin Li // EXPECTED:
20*af87fb4bSXin Li // <init>: \n This is a java doc\n\n This is a second line\n\n more lines\n
21*af87fb4bSXin Li // <init>: \n inner class\n
22*af87fb4bSXin Li // <init>: \n nest class\n
23*af87fb4bSXin Li // <init>: \n top level class\n\n doc can have multiple lines\n\n third non-empty line\n
24*af87fb4bSXin Li // Inner: \n inner class\n
25*af87fb4bSXin Li // JavaSrc: \n This is a java doc\n\n This is a second line\n\n more lines\n
26*af87fb4bSXin Li // Nested: \n nest class\n
27*af87fb4bSXin Li // TopClass: \n top level class\n\n doc can have multiple lines\n\n third non-empty line\n
28*af87fb4bSXin Li // f1: \n top level function\n
29*af87fb4bSXin Li // f2: \n member function\n
30*af87fb4bSXin Li // foo: \n\n\n member function\n\n
31*af87fb4bSXin Li // j1: \n field\n
32*af87fb4bSXin Li // j2: null
33*af87fb4bSXin Li // j3: null
34*af87fb4bSXin Li // v1: \n\n top level property\n\n
35*af87fb4bSXin Li // v2:  Irregular doc comment 1
36*af87fb4bSXin Li // v3: \n Irregular doc comment 2
37*af87fb4bSXin Li // v4: Irregular doc comment 3 *\n
38*af87fb4bSXin Li // v5: \n owned doc comment\n
39*af87fb4bSXin Li // v6: null
40*af87fb4bSXin Li // v7: null
41*af87fb4bSXin Li // v8: \n member property\n
42*af87fb4bSXin Li // END
43*af87fb4bSXin Li // FILE: KotlinSrc.kt
44*af87fb4bSXin Li 
45*af87fb4bSXin Li /**
46*af87fb4bSXin Li  * top level function
47*af87fb4bSXin Li  */
f1null48*af87fb4bSXin Li fun f1() = 0
49*af87fb4bSXin Li 
50*af87fb4bSXin Li /**
51*af87fb4bSXin Li  *
52*af87fb4bSXin Li  * top level property
53*af87fb4bSXin Li  *
54*af87fb4bSXin Li  */
55*af87fb4bSXin Li val v1 = 0
56*af87fb4bSXin Li 
57*af87fb4bSXin Li 
58*af87fb4bSXin Li /** * Irregular doc comment 1***/
59*af87fb4bSXin Li val v2 = 0
60*af87fb4bSXin Li 
61*af87fb4bSXin Li /**
62*af87fb4bSXin Li  * Irregular doc comment 2*/
63*af87fb4bSXin Li val v3 = 0
64*af87fb4bSXin Li 
65*af87fb4bSXin Li /** Irregular doc comment 3 *
66*af87fb4bSXin Li  */
67*af87fb4bSXin Li val v4 = 0
68*af87fb4bSXin Li 
69*af87fb4bSXin Li /**
70*af87fb4bSXin Li  * unassociated doc comment
71*af87fb4bSXin Li  */
72*af87fb4bSXin Li /**
73*af87fb4bSXin Li  * owned doc comment
74*af87fb4bSXin Li  */
75*af87fb4bSXin Li val v5 = 0
76*af87fb4bSXin Li 
77*af87fb4bSXin Li /* Not doc comment 1 */
78*af87fb4bSXin Li val v6 = 0
79*af87fb4bSXin Li 
80*af87fb4bSXin Li // Not doc comment 2
81*af87fb4bSXin Li val v7 = 0
82*af87fb4bSXin Li 
83*af87fb4bSXin Li /**
84*af87fb4bSXin Li  * top level class
85*af87fb4bSXin Li  *
86*af87fb4bSXin Li  * doc can have multiple lines
87*af87fb4bSXin Li  *
88*af87fb4bSXin Li  * third non-empty line
89*af87fb4bSXin Li  */
90*af87fb4bSXin Li class TopClass {
91*af87fb4bSXin Li     /**
92*af87fb4bSXin Li      * nest class
93*af87fb4bSXin Li      */
94*af87fb4bSXin Li     class Nested
95*af87fb4bSXin Li 
96*af87fb4bSXin Li     /**
97*af87fb4bSXin Li      * inner class
98*af87fb4bSXin Li      */
99*af87fb4bSXin Li     class Inner
100*af87fb4bSXin Li 
101*af87fb4bSXin Li     /**
102*af87fb4bSXin Li      * member function
103*af87fb4bSXin Li      */
104*af87fb4bSXin Li     fun f2() = 0
105*af87fb4bSXin Li 
106*af87fb4bSXin Li     /**
107*af87fb4bSXin Li      * member property
108*af87fb4bSXin Li      */
109*af87fb4bSXin Li     val v8 = 0
110*af87fb4bSXin Li }
111*af87fb4bSXin Li 
112*af87fb4bSXin Li // FILE: JavaSrc.java
113*af87fb4bSXin Li /**
114*af87fb4bSXin Li  * This is a java doc
115*af87fb4bSXin Li  *
116*af87fb4bSXin Li  * This is a second line
117*af87fb4bSXin Li  *
118*af87fb4bSXin Li  * more lines
119*af87fb4bSXin Li  */
120*af87fb4bSXin Li class JavaSrc {
121*af87fb4bSXin Li     /**
122*af87fb4bSXin Li      *
123*af87fb4bSXin Li      *
124*af87fb4bSXin Li      * member function
125*af87fb4bSXin Li      *
126*af87fb4bSXin Li      */
127*af87fb4bSXin Li     int foo() {
128*af87fb4bSXin Li         return 0;
129*af87fb4bSXin Li     }
130*af87fb4bSXin Li 
131*af87fb4bSXin Li     /**
132*af87fb4bSXin Li      * field
133*af87fb4bSXin Li      */
134*af87fb4bSXin Li     int j1 = 0;
135*af87fb4bSXin Li 
136*af87fb4bSXin Li     // Not a doc
137*af87fb4bSXin Li     int j2 = 0;
138*af87fb4bSXin Li 
139*af87fb4bSXin Li     /* Not a doc */
140*af87fb4bSXin Li     int j3 = 0;
141*af87fb4bSXin Li }
142