Add @JvmStatic Intention: Support functions/properties in objects
Also eliminate unnecessary object instance references on Java call sites #KT-20095 Fixed
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
// WITH_RUNTIME
|
||||
// IS_APPLICABLE: false
|
||||
// ERROR: Abstract property 'foo' in non-abstract class 'Test'
|
||||
|
||||
object Test {
|
||||
abstract val <caret>foo: Int
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
// WITH_RUNTIME
|
||||
// IS_APPLICABLE: false
|
||||
|
||||
object Test {
|
||||
const val <caret>foo = 1
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
class Test {
|
||||
companion object {
|
||||
fun <caret>main(args: Array<String>) {
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
class Test {
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun main(args: Array<String>) {
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
object Test {
|
||||
fun <caret>main(args: Array<String>) {
|
||||
}
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
object Test {
|
||||
@JvmName("main")
|
||||
fun <caret>test(args: Array<String>) {
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
object Test {
|
||||
@JvmStatic
|
||||
@JvmName("main")
|
||||
fun <caret>test(args: Array<String>) {
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
// WITH_RUNTIME
|
||||
// IS_APPLICABLE: false
|
||||
|
||||
object Test {
|
||||
@JvmName("test")
|
||||
fun <caret>main(args: Array<String>) {
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
// IS_APPLICABLE: false
|
||||
|
||||
object Test {
|
||||
fun <caret>test(args: Array<String>) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
// WITH_RUNTIME
|
||||
// IS_APPLICABLE: false
|
||||
|
||||
object Test {
|
||||
open val <caret>foo = 1
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
// WITH_RUNTIME
|
||||
// IS_APPLICABLE: false
|
||||
|
||||
interface I {
|
||||
val foo: Int
|
||||
}
|
||||
|
||||
object Test : I {
|
||||
override val <caret>foo = 1
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
// IS_APPLICABLE: false
|
||||
|
||||
val <caret>foo = 1
|
||||
@@ -0,0 +1,5 @@
|
||||
// IS_APPLICABLE: false
|
||||
|
||||
private fun test() = object {
|
||||
val <caret>foo = 1
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
// IS_APPLICABLE: false
|
||||
|
||||
class Test {
|
||||
val <caret>foo = 1
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
// WITH_RUNTIME
|
||||
// IS_APPLICABLE: false
|
||||
|
||||
object Test {
|
||||
@JvmField
|
||||
val <caret>foo = 1
|
||||
}
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
// WITH_RUNTIME
|
||||
// IS_APPLICABLE: false
|
||||
|
||||
object Test {
|
||||
@JvmStatic
|
||||
fun main(args: Array<String>) {
|
||||
}
|
||||
val <caret>foo = 1
|
||||
}
|
||||
Reference in New Issue
Block a user