Improve diagnostics for "not yet supported in inline"

- Tell user what exactly is not supported (e.g., local inline function)
- Reduce diagnostics range to a keyword or an identifier
  where appropriate

 #KT-16223 Fixed Target versions 1.1.50
This commit is contained in:
Dmitry Petrov
2017-09-05 16:38:13 +03:00
parent 160ba0c7c0
commit 2b27e64fc8
18 changed files with 105 additions and 30 deletions
@@ -0,0 +1,18 @@
<!NOTHING_TO_INLINE!>inline<!> fun inlineFun() {
<!NOT_YET_SUPPORTED_IN_INLINE(Local functions)!>fun<!> localFun() {}
<!NOT_YET_SUPPORTED_IN_INLINE(Local classes)!>class<!> LocalClass {}
}
fun outerFun() {
<!NOT_YET_SUPPORTED_IN_INLINE(Local inline functions)!>inline<!> fun localInlineFun() {}
}
abstract class Base {
abstract fun withDefault(f: () -> Unit = { -> })
}
class Derived : Base() {
<!OVERRIDE_BY_INLINE!>override final inline fun withDefault(
<!NOT_YET_SUPPORTED_IN_INLINE(Functional parameters with inherited default values)!>f: () -> Unit<!>
)<!> {}
}