package org.example

fun main(args: Array<String>) {
    val sum1 = add(5, 6)
    println(sum1)
    println("""
$$a${1+2}\$$
abc
""")
}
 
/**
* add function with two, three or four integer arguments
* c : default argument is 0
* d : default argument is 0
*/
fun add(a:Int, b:Int, c:Int = 0, d:Float = 12e10F): Int {
    return a + b + c + d
} 

public class MyTest {
    lateinit var subject: TestSubject

    val dyn: dynamic

    @get:Rule val tempFolder = TemporaryFolder()

    @set:[Inject VisibleForTesting]
    var collaborator: Collaborator

    @SetUp fun setup() {
        subject = TestSubject()
    }

    fun @receiver:Fancy String.myExtension() {

    }

    @Test fun test() {
        subject.method()  // dereference directly
    }
}

import /* comment */ foo.Foo // comment
class /* comment */ Foo {
    fun /* comment */ foo(/* comment */) {

    }

    val /* comment */ bar = 1
    var /* comment */ baz = 2
}