Nothing to inline diagnostic

This commit is contained in:
Mikhael Bogdanov
2013-11-19 15:02:36 +04:00
parent f7c62fe631
commit eb3edeb527
10 changed files with 72 additions and 8 deletions
@@ -1,4 +1,4 @@
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE -NOTHING_TO_INLINE
fun Function1<Int, Unit>.noInlineExt(p: Int) {}
@@ -48,4 +48,4 @@ inline fun inlineFunWrongExtension(s: (p: Int) -> Unit) {
{
<!USAGE_IS_NOT_INLINABLE!>s<!>.noInlineExt(11)
} ()
}
}
@@ -1,4 +1,4 @@
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE -NOTHING_TO_INLINE
fun Function1<Int, Unit>.noInlineExt(p: Int) {}
@@ -1,4 +1,4 @@
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE -NOTHING_TO_INLINE
inline fun inlineFunWithInvoke(s: (p: Int) -> Unit, ext: Int.(p: Int) -> Unit) {
s(11)
@@ -1,3 +1,5 @@
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE -NOTHING_TO_INLINE
inline private fun a() {}
inline fun b() {}
@@ -0,0 +1,29 @@
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE -NULLABLE_INLINE_PARAMETER
<!NOTHING_TO_INLINE!>inline fun test() {
}<!>
inline fun test2(s : (Int) -> Int) {
}
<!NOTHING_TO_INLINE!>inline fun test3(noinline s : (Int) -> Int) {
}<!>
<!NOTHING_TO_INLINE!>inline fun test4(noinline s : Int.() -> Int) {
}<!>
<!NOTHING_TO_INLINE!>inline fun Function1<Int, Int>?.test5() {
}<!>
<!NOTHING_TO_INLINE!>inline fun Function1<Int, Int>?.test6() {
}<!>
<!NOTHING_TO_INLINE!>inline fun test2(s : ((Int) -> Int)?) {
}<!>
@@ -1,4 +1,4 @@
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE -NOTHING_TO_INLINE
inline fun inlineFunWithInvoke(s: (p: Int) -> Unit, ext: Int.(p: Int) -> Unit) {
subInline(s, ext)
@@ -34,4 +34,4 @@ inline fun Function1<Int, Unit>.inlineExtWithClosure(ext: Int.(p: Int) -> Unit)
inline fun subInline(s: (p: Int) -> Unit, ext: Int.(p: Int) -> Unit) {}
fun subNoInline(s: (p: Int) -> Unit, ext: Int.(p: Int) -> Unit) {}
fun subNoInline(s: (p: Int) -> Unit, ext: Int.(p: Int) -> Unit) {}
@@ -1,4 +1,4 @@
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE -NOTHING_TO_INLINE
inline fun unsupported() {
@@ -1,4 +1,4 @@
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE -NOTHING_TO_INLINE
inline fun inlineFun(s: (p: Int) -> Unit, noinline b: (p: Int) -> Unit) {
subInline(<!USAGE_IS_NOT_INLINABLE!>s<!>, b)