Deprecate suppress annotation in favor of Suppress

This commit is contained in:
Denis Zharkov
2015-09-01 16:32:43 +03:00
parent 11fed1674e
commit bbc192fda5
140 changed files with 152 additions and 153 deletions
@@ -10,7 +10,7 @@ package h
interface H
@suppress("UNUSED_CHANGED_VALUE")
@Suppress("UNUSED_CHANGED_VALUE")
fun f(h: H?) {
var h1 = h
h1<caret>++
@@ -1,3 +1,3 @@
// "Suppress 'REDUNDANT_NULLABLE' for parameter p" "true"
fun foo(@suppress("REDUNDANT_NULLABLE") vararg p: String?<caret>?) = null
fun foo(@Suppress("REDUNDANT_NULLABLE") vararg p: String?<caret>?) = null
@@ -1,5 +1,5 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
public
fun foo(): String?<caret>? = null
@@ -1,4 +1,4 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
public fun foo(): String?<caret>? = null
@@ -1,4 +1,4 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
fun foo(): String?<caret>? = null
@@ -1,4 +1,4 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
@suppress("FOO")
@Suppress("FOO")
fun foo(): String?<caret>? = null
@@ -1,4 +1,4 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
@suppress("FOO", "REDUNDANT_NULLABLE")
@Suppress("FOO", "REDUNDANT_NULLABLE")
fun foo(): String?<caret>? = null
@@ -1,4 +1,4 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
@suppress()
@Suppress()
fun foo(): String?<caret>? = null
@@ -1,4 +1,4 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
fun foo(): String?<caret>? = null
@@ -1,4 +1,4 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
@suppress
@Suppress
fun foo(): String?<caret>? = null
@@ -1,4 +1,4 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
fun foo(): String?<caret>? = null
@@ -1,4 +1,4 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
suppress
@Suppress
fun foo(): String?<caret>? = null
@@ -1,4 +1,4 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
fun foo(): String?<caret>? = null
@@ -1,3 +1,3 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
@suppress fun foo(): String?<caret>? = null
@Suppress fun foo(): String?<caret>? = null
@@ -1,3 +1,3 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
@suppress("REDUNDANT_NULLABLE") fun foo(): String?<caret>? = null
@Suppress("REDUNDANT_NULLABLE") fun foo(): String?<caret>? = null
@@ -1,3 +1,3 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
suppress fun foo(): String?<caret>? = null
@Suppress fun foo(): String?<caret>? = null
@@ -1,3 +1,3 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
suppress("REDUNDANT_NULLABLE") fun foo(): String?<caret>? = null
@Suppress("REDUNDANT_NULLABLE") fun foo(): String?<caret>? = null
@@ -1,6 +1,6 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
@ann fun foo(): String?<caret>? = null
annotation class ann
@@ -1,6 +1,6 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
ann fun foo(): String?<caret>? = null
annotation class ann
@@ -1,6 +1,6 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun local" "true"
fun foo() {
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
fun local(): String?<caret>? = null
}
@@ -1,6 +1,6 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
fun foo() {
fun local(): String?<caret>? = null
}
@@ -1,6 +1,6 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
fun foo() {
val a: String?<caret>? = null
}
@@ -1,6 +1,6 @@
// "Suppress 'REDUNDANT_NULLABLE' for val a" "true"
fun foo() {
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
val a: String?<caret>? = null
}
@@ -2,7 +2,7 @@
class C {
class D {
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
fun foo(): String?<caret>? = null
}
}
@@ -1,7 +1,7 @@
// "Suppress 'REDUNDANT_NULLABLE' for class D" "true"
class C {
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
class D {
fun foo(): String?<caret>? = null
}
@@ -1,6 +1,6 @@
// "Suppress 'REDUNDANT_NULLABLE' for class C" "true"
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
class C {
class D {
fun foo(): String?<caret>? = null
@@ -1,6 +1,6 @@
// "Suppress 'REDUNDANT_NULLABLE' for class C" "true"
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
class C {
fun foo(): String?<caret>? = null
}
@@ -1,6 +1,6 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
class C {
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
fun foo(): String?<caret>? = null
}
@@ -1,4 +1,4 @@
// "class com.intellij.codeInspection.SuppressIntentionAction" "false"
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
fun foo(): String?<caret>? = null
@@ -1,6 +1,6 @@
// "Suppress 'REDUNDANT_NULLABLE' for class C" "true"
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
class C {
var foo: String?<caret>? = null
}
@@ -1,7 +1,7 @@
// "Suppress 'REDUNDANT_NULLABLE' for companion object Companion of C" "true"
class C {
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
companion object {
var foo: String?<caret>? = null
}
@@ -1,7 +1,7 @@
// "Suppress 'REDUNDANT_NULLABLE' for enum entry A" "true"
enum class E {
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
A {
fun foo(): String?? = null
}
@@ -1,4 +1,4 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
fun foo(): String?<caret>? = null
@@ -1,7 +1,7 @@
// "Suppress 'REDUNDANT_NULLABLE' for val (a, b)" "true"
fun foo() {
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
val (a, b) = Pair<String?<caret>?, String>("", "")
}
@@ -1,7 +1,7 @@
// "Suppress 'REDUNDANT_NULLABLE' for var (a, b)" "true"
fun foo() {
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
var (a, b) = Pair<String?<caret>?, String>("", "")
}
@@ -1,6 +1,6 @@
// "Suppress 'REDUNDANT_NULLABLE' for object C" "true"
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
object C {
var foo: String?<caret>? = null
}
@@ -1,3 +1,3 @@
// "Suppress 'REDUNDANT_NULLABLE' for parameter p" "true"
fun foo(@suppress("REDUNDANT_NULLABLE") p: String?<caret>?) = null
fun foo(@Suppress("REDUNDANT_NULLABLE") p: String?<caret>?) = null
@@ -1,6 +1,6 @@
// "Suppress 'REDUNDANT_NULLABLE' for interface C" "true"
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
interface C {
var foo: String?<caret>?
}
@@ -1,4 +1,4 @@
// "Suppress 'REDUNDANT_NULLABLE' for val foo" "true"
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
val foo: String?<caret>? = null
@@ -1,4 +1,4 @@
// "Suppress 'REDUNDANT_NULLABLE' for var foo" "true"
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
var foo: String?<caret>? = null
@@ -1,5 +1,5 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
// ERROR: An integer literal does not conform to the expected type kotlin.String
@suppress(1)
@Suppress(1)
fun foo(): String?<caret>? = null
@@ -1,5 +1,5 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
// ERROR: An integer literal does not conform to the expected type kotlin.String
@suppress(1, "REDUNDANT_NULLABLE")
@Suppress(1, "REDUNDANT_NULLABLE")
fun foo(): String?<caret>? = null
@@ -1,5 +1,5 @@
// "Suppress 'REDUNDANT_NULLABLE' for fun foo" "true"
// ERROR: Unresolved reference: ann
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
@ann fun foo(): String?<caret>? = null
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
(false<caret>!! && true)
}
@@ -1,7 +1,7 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@ann ""<caret>!!
}
@@ -1,7 +1,7 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("Foo") ""<caret>!!
@Suppress("Foo") ""<caret>!!
}
annotation class ann
@@ -1,7 +1,7 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("Foo", "UNNECESSARY_NOT_NULL_ASSERTION") ""<caret>!!
@Suppress("Foo", "UNNECESSARY_NOT_NULL_ASSERTION") ""<caret>!!
}
annotation class ann
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo(a: Array<Int>) {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
a[1<caret>!!]
}
+1 -1
View File
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
(""<caret>!! as String)
}
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
(""<caret>!! as? String)
}
@@ -3,6 +3,6 @@
fun foo() {
var x = 0
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
(x = 1<caret>!!)
}
+1 -1
View File
@@ -1,7 +1,7 @@
// "Suppress 'REDUNDANT_NULLABLE' for statement " "true"
fun foo() {
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
call("": String?<caret>?)
}
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
(""<caret>!! : String)
}
@@ -1,7 +1,7 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
do {}
while (true<caret>!!)
}
@@ -1,7 +1,7 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo(a: C) {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
a.foo(""<caret>!!)
}
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
(1<caret>!! ?: 0)
}
+1 -1
View File
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
(1<caret>!! == 2)
}
+1 -1
View File
@@ -1,7 +1,7 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
for (i in list()<caret>!!) {}
}
+1 -1
View File
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
if (true<caret>!!) {}
}
+1 -1
View File
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
(1<caret>!! in (1..2))
}
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
(1<caret>!! plus 2)
}
+1 -1
View File
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
(""<caret>!! is String)
}
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
label@""<caret>!!
}
+1 -1
View File
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
(1<caret>!! < 2)
}
+1 -1
View File
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
(1<caret>!! * 2)
}
+1 -1
View File
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
(false<caret>!! || true)
}
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
(""<caret>!!)
}
+1 -1
View File
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
(1<caret>!! + 2)
}
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
""<caret>!!
}
@@ -2,7 +2,7 @@
fun foo() {
var v = Box<String?>()
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
(v: Box<String?<caret>?>)++
}
@@ -2,7 +2,7 @@
fun foo() {
var v = Box<String?>()
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
++(v: Box<String?<caret>?>)
}
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
(1<caret>!! .. 2)
}
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo(): Any {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
return ""<caret>!!
}
@@ -1,7 +1,7 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo(a: C) {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
a?.foo(""<caret>!!)
}
@@ -2,6 +2,6 @@
fun foo() {
val a = 1
@suppress("UNUSED_EXPRESSION")
@Suppress("UNUSED_EXPRESSION")
a
}
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
"${""<caret>!!}"
}
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo(): Any {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
throw Exception(""<caret>!!)
}
+1 -1
View File
@@ -2,7 +2,7 @@
fun foo() {
try {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
""<caret>!!
}
finally {
@@ -1,7 +1,7 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo(a: Any) {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
when (a) {
""<caret>!! -> {}
}
@@ -1,7 +1,7 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
when (1) {
in 1<caret>!!..2 -> {}
}
@@ -1,7 +1,7 @@
// "Suppress 'REDUNDANT_NULLABLE' for statement " "true"
fun foo() {
@suppress("REDUNDANT_NULLABLE")
@Suppress("REDUNDANT_NULLABLE")
when ("") {
is Any?<caret>? -> {}
}
@@ -1,7 +1,7 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
when (""<caret>!!) {
is Any -> {}
}
@@ -1,6 +1,6 @@
// "Suppress 'UNNECESSARY_NOT_NULL_ASSERTION' for statement " "true"
fun foo() {
@suppress("UNNECESSARY_NOT_NULL_ASSERTION")
@Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
while (true<caret>!!) {}
}