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
@@ -7,7 +7,6 @@ Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socke
functionCallStoredToVariable.kt:7
functionCallStoredToVariable.kt:4
functionCallStoredToVariable.kt:14
functionCallStoredToVariable.kt:0
functionCallStoredToVariable.kt:43
functionCallStoredToVariable.kt:11
functionCallStoredToVariable.kt:21
@@ -15,7 +14,6 @@ functionCallStoredToVariable.kt:22
functionCallStoredToVariable.kt:18
functionCallStoredToVariable.kt:28
functionCallStoredToVariable.kt:29
functionCallStoredToVariable.kt:0
functionCallStoredToVariable.kt:47
functionCallStoredToVariable.kt:25
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
@@ -0,0 +1,27 @@
LineBreakpoint created at syntheticMethodsSkip.kt:6
!JDK_HOME!\bin\java -agentlib:jdwp=transport=dt_socket,address=!HOST_NAME!:!HOST_PORT!,suspend=y,server=n -Dfile.encoding=!FILE_ENCODING! -classpath !OUTPUT_PATH!;!KOTLIN_RUNTIME!;!CUSTOM_LIBRARY!;!RT_JAR! syntheticMethodsSkip.SyntheticMethodsSkipKt
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
syntheticMethodsSkip.kt:6
syntheticMethodsSkip.kt:19
syntheticMethodsSkip.kt:20
syntheticMethodsSkip.kt:7
syntheticMethodsSkip.kt:34
syntheticMethodsSkip.kt:0
syntheticMethodsSkip.kt:7
syntheticMethodsSkip.kt:25
syntheticMethodsSkip.kt:31
syntheticMethodsSkip.kt:26
syntheticMethodsSkip.kt:31
syntheticMethodsSkip.kt:25
syntheticMethodsSkip.kt:28
syntheticMethodsSkip.kt:8
syntheticMethodsSkip.kt:36
syntheticMethodsSkip.kt:42
syntheticMethodsSkip.kt:37
syntheticMethodsSkip.kt:42
syntheticMethodsSkip.kt:36
syntheticMethodsSkip.kt:39
syntheticMethodsSkip.kt:9
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0
@@ -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