Rewrite RedundantSamConstructorInspection to support more cases
- Now inspection does not rely on synthetic descriptors at all, instead it uses `SamConversionOracle` and `SamConversionResolver` to detect if the argument type support SAM conversion - This transparently considers all language features like `SAM conversions for kotlin functions`, `Functional interfaces` etc. - In case of multiple SAM arguments, part of them can be converted only when `SAM conversion per argument` is enabled - Fix inspection and nj2k tests that were failing because of better working inspection - Rewrite automatically fixes multiple bugs that were present - ^KT-36367 ^KT-36368 ^KT-36296 ^KT-36395 Fixed
This commit is contained in:
committed by
Roman Golyshev
parent
9b5110b9f3
commit
46ae6136cb
@@ -0,0 +1,13 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+NewInference -XXLanguage:+SamConversionForKotlinFunctions -XXLanguage:+FunctionalInterfaceConversion
|
||||
|
||||
fun interface KtRunnable {
|
||||
fun run()
|
||||
}
|
||||
|
||||
class Test {
|
||||
fun usage(r: KtRunnable) {}
|
||||
|
||||
fun test() {
|
||||
usage(KtRunnable<caret> { })
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user