1*1b2d298cSOwner Cleanup Bot // this file is not included in sources or tests, you can play with it for debug purposes
2*1b2d298cSOwner Cleanup Bot // Console run configuration will analyse it and provide lots of debug output
3*1b2d298cSOwner Cleanup Bot package dokka.playground
4*1b2d298cSOwner Cleanup Bot
topLevelFunctionnull5*1b2d298cSOwner Cleanup Bot fun topLevelFunction() {
6*1b2d298cSOwner Cleanup Bot }
7*1b2d298cSOwner Cleanup Bot
8*1b2d298cSOwner Cleanup Bot val topLevelConstantValue = "Hello"
9*1b2d298cSOwner Cleanup Bot
10*1b2d298cSOwner Cleanup Bot val topLevelValue: String
11*1b2d298cSOwner Cleanup Bot get() = "Bye bye"
12*1b2d298cSOwner Cleanup Bot
13*1b2d298cSOwner Cleanup Bot var topLevelVariable: String
14*1b2d298cSOwner Cleanup Bot get() = "Modify me!"
15*1b2d298cSOwner Cleanup Bot set(value) {
16*1b2d298cSOwner Cleanup Bot }
17*1b2d298cSOwner Cleanup Bot
18*1b2d298cSOwner Cleanup Bot /**
19*1b2d298cSOwner Cleanup Bot * This is a class
20*1b2d298cSOwner Cleanup Bot */
21*1b2d298cSOwner Cleanup Bot class Class {
memberFunctionnull22*1b2d298cSOwner Cleanup Bot fun memberFunction() {
23*1b2d298cSOwner Cleanup Bot }
24*1b2d298cSOwner Cleanup Bot
25*1b2d298cSOwner Cleanup Bot val memberValue = "Member"
26*1b2d298cSOwner Cleanup Bot }
27*1b2d298cSOwner Cleanup Bot
28*1b2d298cSOwner Cleanup Bot /**
29*1b2d298cSOwner Cleanup Bot * This is a class with constructor and space after doc
30*1b2d298cSOwner Cleanup Bot */
31*1b2d298cSOwner Cleanup Bot
32*1b2d298cSOwner Cleanup Bot class ClassWithConstructor(
33*1b2d298cSOwner Cleanup Bot /** Doc at parameter */ val name: Class)
34*1b2d298cSOwner Cleanup Bot
35*1b2d298cSOwner Cleanup Bot /**
36*1b2d298cSOwner Cleanup Bot * This is data class with constructor and two properties
37*1b2d298cSOwner Cleanup Bot * Also look at [Employee]
38*1b2d298cSOwner Cleanup Bot *
39*1b2d298cSOwner Cleanup Bot * $name Person's name
40*1b2d298cSOwner Cleanup Bot * $age Person's age
41*1b2d298cSOwner Cleanup Bot *
42*1b2d298cSOwner Cleanup Bot */
43*1b2d298cSOwner Cleanup Bot data class Person(val name: ClassWithConstructor, val age: Int) {}
44*1b2d298cSOwner Cleanup Bot
45*1b2d298cSOwner Cleanup Bot data class Employee(val name: ClassWithConstructor, val age: Int) {}
46*1b2d298cSOwner Cleanup Bot
<lambda>null47*1b2d298cSOwner Cleanup Bot object Object {
48*1b2d298cSOwner Cleanup Bot throws(javaClass<IllegalArgumentException>())
49*1b2d298cSOwner Cleanup Bot fun objectFunction() {
50*1b2d298cSOwner Cleanup Bot }
51*1b2d298cSOwner Cleanup Bot
52*1b2d298cSOwner Cleanup Bot val objectValue: String
53*1b2d298cSOwner Cleanup Bot /** one line getter doc */
54*1b2d298cSOwner Cleanup Bot get() = "Member"
55*1b2d298cSOwner Cleanup Bot
56*1b2d298cSOwner Cleanup Bot public val String.valueWithReceiver: Int
57*1b2d298cSOwner Cleanup Bot get() = 1
58*1b2d298cSOwner Cleanup Bot
59*1b2d298cSOwner Cleanup Bot }
60*1b2d298cSOwner Cleanup Bot
61*1b2d298cSOwner Cleanup Bot enum class Color(r: Int, g: Int, b: Int) {
62*1b2d298cSOwner Cleanup Bot Red : Color(100,0,0)
63*1b2d298cSOwner Cleanup Bot Green : Color(0,100,0)
64*1b2d298cSOwner Cleanup Bot Blue : Color(0,0,100)
65*1b2d298cSOwner Cleanup Bot }
66*1b2d298cSOwner Cleanup Bot
67*1b2d298cSOwner Cleanup Bot class OuterClass {
68*1b2d298cSOwner Cleanup Bot
69*1b2d298cSOwner Cleanup Bot /**
70*1b2d298cSOwner Cleanup Bot * $T type of the item
71*1b2d298cSOwner Cleanup Bot */
72*1b2d298cSOwner Cleanup Bot class NestedClass<T> {
nestedClassFunctionnull73*1b2d298cSOwner Cleanup Bot fun nestedClassFunction(item: T) {
74*1b2d298cSOwner Cleanup Bot }
75*1b2d298cSOwner Cleanup Bot
functionWithReceivernull76*1b2d298cSOwner Cleanup Bot fun String.functionWithReceiver(): Int = 1
77*1b2d298cSOwner Cleanup Bot
78*1b2d298cSOwner Cleanup Bot }
79*1b2d298cSOwner Cleanup Bot
80*1b2d298cSOwner Cleanup Bot inner class InnerClass {
81*1b2d298cSOwner Cleanup Bot open fun innerClassFunction<
82*1b2d298cSOwner Cleanup Bot /** doc for R1 type param */
83*1b2d298cSOwner Cleanup Bot R1,
84*1b2d298cSOwner Cleanup Bot /** doc for R2 type param */
85*1b2d298cSOwner Cleanup Bot R2
86*1b2d298cSOwner Cleanup Bot >() {
87*1b2d298cSOwner Cleanup Bot }
88*1b2d298cSOwner Cleanup Bot }
89*1b2d298cSOwner Cleanup Bot
90*1b2d298cSOwner Cleanup Bot object NestedObject {
nestedObjectFunctionnull91*1b2d298cSOwner Cleanup Bot protected open fun nestedObjectFunction() {
92*1b2d298cSOwner Cleanup Bot }
93*1b2d298cSOwner Cleanup Bot }
94*1b2d298cSOwner Cleanup Bot }
95*1b2d298cSOwner Cleanup Bot
96*1b2d298cSOwner Cleanup Bot trait Interface {
workernull97*1b2d298cSOwner Cleanup Bot fun worker()
98*1b2d298cSOwner Cleanup Bot val extra: String
99*1b2d298cSOwner Cleanup Bot }