Resolve local function parameters with function inner scope
This allows to use type parameters and value paramters in default value expressions #KT-7984 Fixed #KT-7985 Fixed
This commit is contained in:
Vendored
+1
@@ -1,4 +1,5 @@
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in bar.foo
|
||||
fun bar(n: Int) {
|
||||
fun foo(a: Int, b: Int = <selection>a + n</selection>) = a + b - n - 1
|
||||
}
|
||||
Vendored
+7
@@ -0,0 +1,7 @@
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in bar.foo
|
||||
fun bar(n: Int) {
|
||||
fun i(a: Int) = a + n
|
||||
|
||||
fun foo(a: Int, b: Int = i(a)) = a + b - n - 1
|
||||
}
|
||||
-1
@@ -1 +0,0 @@
|
||||
Cannot generate function with erroneous return type
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in bar.foo
|
||||
fun bar(n: Int) {
|
||||
fun foo(a: Int, b: Int = { <selection>a + n</selection> }.invoke()) = a + b - n - 1
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
// PARAM_TYPES: kotlin.Int
|
||||
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in bar.foo
|
||||
fun bar(n: Int) {
|
||||
fun i(a: Int) = a + n
|
||||
|
||||
fun foo(a: Int, b: Int = { i(a) }.invoke()) = a + b - n - 1
|
||||
}
|
||||
-1
@@ -1 +0,0 @@
|
||||
Cannot generate function with erroneous return type
|
||||
Reference in New Issue
Block a user