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
}