Do not drop use of SAM-constructor when it's required for labeled return

This commit is contained in:
Valentin Kipyatkov
2015-10-27 18:07:43 +03:00
parent 34298190b3
commit 2b3694a77e
6 changed files with 57 additions and 1 deletions
@@ -0,0 +1,12 @@
// WITH_RUNTIME
import javax.swing.SwingUtilities
fun bar(p: Int) {
SwingUtilities.invokeLater(<caret>object: Runnable {
override fun run() {
if (p < 0) return
throw UnsupportedOperationException()
}
})
}
@@ -0,0 +1,10 @@
// WITH_RUNTIME
import javax.swing.SwingUtilities
fun bar(p: Int) {
SwingUtilities.invokeLater(Runnable {
if (p < 0) return@Runnable
throw UnsupportedOperationException()
})
}
@@ -133,4 +133,13 @@
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Convert object literal to lambda</problem_class>
<description>Convert to lambda</description>
</problem>
<problem>
<file>SamAdapterNeededBecauseOfLabeledReturn.kt</file>
<line>6</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="SamAdapterNeededBecauseOfLabeledReturn.kt" />
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Convert object literal to lambda</problem_class>
<description>Convert to lambda</description>
</problem>
</problems>