Add more tests for PropertyAccessorDescriptor.isDeafult() usages
This commit is contained in:
committed by
Nikolay Krasko
parent
c936b3f3e0
commit
eee45e91ce
+12
@@ -266,3 +266,15 @@ fun inForLoop(x: Any?) {
|
||||
}
|
||||
for (i in <error descr="[ITERATOR_MISSING] For-loop range must have an 'iterator()' method">x</error>) {}
|
||||
}
|
||||
|
||||
class ExplicitAccessorForAnnotation {
|
||||
val tt: String? = "good"
|
||||
<info descr="null">get</info>
|
||||
|
||||
fun foo(): String {
|
||||
if (tt is String) {
|
||||
return <error descr="[SMARTCAST_IMPOSSIBLE] Smart cast to 'String' is impossible, because 'tt' is a property that has open or custom getter">tt</error>
|
||||
}
|
||||
return ""
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
class Test {
|
||||
var serial: String = ""
|
||||
get
|
||||
set
|
||||
var name: String = ""
|
||||
get
|
||||
<caret>
|
||||
}
|
||||
|
||||
// FORCED
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
class Test {
|
||||
var serial: String = ""
|
||||
get
|
||||
set
|
||||
var name: String = ""
|
||||
get
|
||||
|
||||
override fun equals(other: Any?): Boolean{
|
||||
if (this === other) return true
|
||||
if (other?.javaClass != javaClass) return false
|
||||
return true
|
||||
}
|
||||
|
||||
override fun hashCode(): Int{
|
||||
return 0
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// FORCED
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
class Test {
|
||||
var serial: String = ""
|
||||
get
|
||||
set
|
||||
var name: String = ""
|
||||
get
|
||||
<caret>
|
||||
}
|
||||
Vendored
+12
@@ -0,0 +1,12 @@
|
||||
class Test {
|
||||
var serial: String = ""
|
||||
get
|
||||
set
|
||||
var name: String = ""
|
||||
get
|
||||
|
||||
override fun toString(): String{
|
||||
return "Test()"
|
||||
}
|
||||
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
LineBreakpoint created at privatePropertyWithExplicitDefaultGetter.kt:7
|
||||
!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! privatePropertyWithExplicitDefaultGetter.PrivatePropertyWithExplicitDefaultGetterKt
|
||||
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||
privatePropertyWithExplicitDefaultGetter.kt:7
|
||||
Compile bytecode for base.a
|
||||
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||
|
||||
Process finished with exit code 0
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package privatePropertyWithExplicitDefaultGetter
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val base = Some()
|
||||
|
||||
//Breakpoint!
|
||||
args.size
|
||||
}
|
||||
|
||||
annotation class Small
|
||||
|
||||
class Some {
|
||||
private val a: Int = 1
|
||||
@Small get
|
||||
|
||||
}
|
||||
// EXPRESSION: base.a
|
||||
// RESULT: java.lang.NoSuchMethodError : Method not found: MemberDescription(ownerInternalName = privatePropertyWithExplicitDefaultGetter/Some, name = getA, desc = ()I, isStatic = false)
|
||||
Reference in New Issue
Block a user