KT-456 No check for obligatory return in getters

This commit is contained in:
svtk
2011-11-09 12:22:08 +04:00
parent 24d663a08f
commit 2d6337fe93
12 changed files with 130 additions and 145 deletions
@@ -55,16 +55,3 @@ error:
sink:
<SINK> NEXT:[] PREV:[<END>]
=====================
== k ==
val k = 34
---------------------
l0:
<START> NEXT:[r(34)] PREV:[]
r(34) NEXT:[<END>] PREV:[<START>]
l1:
<END> NEXT:[<SINK>] PREV:[r(34)]
error:
<ERROR> NEXT:[] PREV:[]
sink:
<SINK> NEXT:[] PREV:[<END>]
=====================
@@ -387,16 +387,3 @@ error:
sink:
<SINK> NEXT:[] PREV:[<END>]
=====================
== a ==
val a: Int = 1
---------------------
l0:
<START> NEXT:[r(1)] PREV:[]
r(1) NEXT:[<END>] PREV:[<START>]
l1:
<END> NEXT:[<SINK>] PREV:[r(1)]
error:
<ERROR> NEXT:[] PREV:[]
sink:
<SINK> NEXT:[] PREV:[<END>]
=====================
@@ -5,7 +5,7 @@ fun unitEmpty() : Unit {}
fun unitEmptyReturn() : Unit {return}
fun unitIntReturn() : Unit {return <!TYPE_MISMATCH!>1<!>}
fun unitUnitReturn() : Unit {return ()}
fun test1() : Any = {<!RETURN_NOT_ALLOWED, RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY!>return<!>}
fun test1() : Any = {return}
fun test2() : Any = @a {return@a 1}
fun test3() : Any { <!RETURN_TYPE_MISMATCH!>return<!> }
@@ -0,0 +1,30 @@
//KT-456 No check for obligatory return in getters
namespace kt456
class A() {
val i: Int
get() : Int <!NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY!>{ //no error
}<!>
}
//more tests
class B() {
val i: Int
get() <!NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY!>{ //no error
}<!>
}
class C() {
val i : Int
get() : Int {
try {
doSmth()
}
finally {
<!NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY!>doSmth()<!>
}
}
}
fun doSmth() {}