Mark bridge methods in lambdas classes as synthetic

#KT-10101 Fixed
This commit is contained in:
Natalia Ukhorskaya
2015-11-23 11:43:44 +03:00
parent cb80a3e83a
commit 67dd97b918
7 changed files with 87 additions and 8 deletions
@@ -9,7 +9,7 @@ fun main(args: Array<String>) {
// RESUME: 1
val b = simpleFunInt {
// STEP_OVER: 3
// STEP_OVER: 2
//Breakpoint!
1
}
@@ -23,7 +23,7 @@ fun main(args: Array<String>) {
// RESUME: 1
val d = simpleFunVoid {
// STEP_OVER: 4
// STEP_OVER: 3
//Breakpoint!
val aa = 1
}
@@ -0,0 +1,48 @@
package syntheticMethodsSkip
fun main(args: Array<String>) {
val d: Base<String> = Derived()
//Breakpoint!
d.foo("")
A().test()
A.test()
}
open class Base<T> {
open fun foo(t: T) {
val a = 1
}
}
class Derived: Base<String>() {
override fun foo(t: String) {
val a = 1
}
}
class A {
fun test() {
lambda {
1
}
}
fun lambda(f: () -> Int): Int {
return f()
}
companion object {
fun test() {
lambda {
1
}
}
fun lambda(f: () -> Int): Int {
return f()
}
}
}
// STEP_INTO: 26
// SKIP_SYNTHETIC_METHODS: true