blob: c8f705a6313d3fd40c3a1907c32255ef27786b14 [file] [log] [blame] [edit]
import java.*
import java.util.*
fun f_plus(): Int {
var x: Int = 1
x = x `kotlin::Int.plus(Int)`+ 1
return x
}
~X~class X<~T~T> {
fun foo(a : `T`T) : `X`X<`T`T>{}
~plus~fun plus(t : `T`T) : Int {}
~minus~fun minus(t : String) : Int {}
~times~fun times(t : String) : Int {}
~div~fun div(t : String) : Int {}
~mod~fun mod(t : String) : Int {}
~rangeTo~fun rangeTo(t : String) : Int {}
~==~fun equals(a : Any?) : Boolean {}
~contains~fun contains(a : Any?) : Boolean {}
}
~t~fun <~t.T~T> t(~t.t~t : `t.T`T) : `t.T`T {
`t`t<Int>(1)`:kotlin::Int`
`t`t<`t.T`T>(`t.t`t)`:t.T`
`X`X<`t.T`T>()
1 `kotlin::Int.plus(Int)`+ 1
1 `kotlin::Int.plus(Int)`+= 1
X<String>() `plus`+ "1"
X<String>() `plus`plus "sadfas"
X<String>().`plus`plus("")
val x = X<String>()
x `minus`- ""
x `times`* ""
x `div`/ ""
x `mod`% ""
x `rangeTo`.. ""
x `==`== ""
x `==`!= 1
1 `contains`in x
1 `contains`!in x
}
open ~Foo~class Foo {
~set1~fun set(i : Int, val1 : String) {}
~get1~fun get(i : Int) : Int {}
~get2~fun get(i : Int, j : Int) : String {}
~get3~fun get(i : Object) : Any {return i }
~+=~fun plusAssign(a : Any?) : Unit {}
}
~Bar~class Bar : Foo {
~not~fun not() : String {}
~inc~fun inc() : Bar
~dec~fun dec() : Bar
~-~fun minus() : Bar
~+~fun plus() : Bar
}
fun <T> tt(t : T) : T {
val x : ArrayList<Int> = 0
x`java::java.util.ArrayList.get()`[1]
val foo = `Bar`Bar()
foo`get2`[null, 1]
foo`get2`[1, 1]
foo`get1`[1]
foo`set1`[1] = ""
foo`set1`[1, 2] = ""
x`java::java.util.ArrayList.set()`[1] = null
(x`java::java.util.ArrayList.set()`[1]) = null
x`java::java.util.ArrayList.set()`[null] = null
(x`java::java.util.ArrayList.set()`[null, 2]) = null
val y = Bar()
y`inc`++
`inc`++y
`dec`--y
y`dec`--
y `+=`+= 1
1 `kotlin::Int.compareTo(Double)`> 2.0
1 `kotlin::Int.compareTo(Double)`< 2.0
1 `kotlin::Int.compareTo(Double)`>= 2.0
1 `kotlin::Int.compareTo(Double)`<= 2.0
}
class UnitIncDec() {
~uinc~fun inc() : Unit
~udec~fun dec() : Unit
}
fun testUnitIncDec() {
var x = UnitIncDec()
x`uinc`++
x`udec`--
}