Add quickfix for deprecated labels syntax

This commit is contained in:
Denis Zharkov
2015-05-18 15:49:44 +03:00
parent e98b9ea84e
commit 87be626848
13 changed files with 380 additions and 0 deletions
@@ -0,0 +1,9 @@
// "Replace with label label@" "true"
fun run(block: () -> Unit) = block()
fun foo() {
run @label<caret> {
return@label
}
}
@@ -0,0 +1,9 @@
// "Replace with label label@" "true"
fun run(block: () -> Unit) = block()
fun foo() {
run label@ {
return@label
}
}
@@ -0,0 +1,7 @@
// "Replace with label loop@" "true"
fun foo() {
@loop<caret> for (i in 1..100) {
break@loop
}
}
@@ -0,0 +1,7 @@
// "Replace with label loop@" "true"
fun foo() {
loop@ for (i in 1..100) {
break@loop
}
}
@@ -0,0 +1,5 @@
fun bar() {
l@ while (true) {
break@l
}
}
@@ -0,0 +1,92 @@
// "Update obsolete label syntax in whole project" "true"
// ERROR: Unresolved reference: @abc
// ERROR: Unresolved reference: @cde
// ERROR: Unresolved reference: @data
// ERROR: Unresolved reference: @labeled
// ERROR: Unresolved reference: @loop
// ERROR: Unresolved reference: @loop2
// ERROR: Unresolved reference: @loop3
// ERROR: Unresolved reference: @loop4
// ERROR: Unresolved reference: @loop5
// ERROR: Unresolved reference: abc
// ERROR: Unresolved reference: cde
// ERROR: Unresolved reference: labeled
// ERROR: Unresolved reference: loop
// ERROR: Unresolved reference: loop1
// ERROR: Unresolved reference: loop2
// ERROR: Unresolved reference: loop2
// ERROR: Unresolved reference: loop3
// ERROR: Unresolved reference: loop4
// ERROR: Unresolved reference: loop5
// ERROR: Unresolved reference: noreferences
// ERROR: Unresolved reference: notLabelAnnotation
// ERROR: Unresolved reference: notLoop
// ERROR: The label '@abc' does not denote a loop
// ERROR: The label '@cde' does not denote a loop
// ERROR: The label '@data' does not denote a loop
// ERROR: The label '@loop' does not denote a loop
// ERROR: The label '@loop2' does not denote a loop
// ERROR: The label '@loop3' does not denote a loop
// ERROR: The label '@loop4' does not denote a loop
// ERROR: The label '@loop5' does not denote a loop
fun run(block: () -> Unit) = block()
notLabelAnnotation class A {
fun foo() {
loop@
for (i in 1..100) {
/* comment */
continue@loop
}
@noreferences for (i in 1..100) {
val x = 1
}
@loop1 for (i in 1..100) {
loop1@ for (j in 1..100) {
continue@loop1
}
}
loop2@ for (i in 1..100) {
loop2@ for (j in 1..100) {
break@loop2
}
}
@[loop3] for (i in 1..100) {
continue@loop3
}
run() labeled@ {
return@labeled
}
@data for (i in 1..100) {
continue@data
}
@ for (i in 1..100) {
break@
}
@loop4() for (i in 1..100) {
continue@loop4
}
@notLoop class Local
@abc @cde for (i in 1..100) {
break@cde
break@abc
}
/* 123 */ loop5@ /* 456 */
for (i in 1..100) {
break@loop5
} /* 789 */
}
}
@@ -0,0 +1,92 @@
// "Update obsolete label syntax in whole project" "true"
// ERROR: Unresolved reference: @abc
// ERROR: Unresolved reference: @cde
// ERROR: Unresolved reference: @data
// ERROR: Unresolved reference: @labeled
// ERROR: Unresolved reference: @loop
// ERROR: Unresolved reference: @loop2
// ERROR: Unresolved reference: @loop3
// ERROR: Unresolved reference: @loop4
// ERROR: Unresolved reference: @loop5
// ERROR: Unresolved reference: abc
// ERROR: Unresolved reference: cde
// ERROR: Unresolved reference: labeled
// ERROR: Unresolved reference: loop
// ERROR: Unresolved reference: loop1
// ERROR: Unresolved reference: loop2
// ERROR: Unresolved reference: loop2
// ERROR: Unresolved reference: loop3
// ERROR: Unresolved reference: loop4
// ERROR: Unresolved reference: loop5
// ERROR: Unresolved reference: noreferences
// ERROR: Unresolved reference: notLabelAnnotation
// ERROR: Unresolved reference: notLoop
// ERROR: The label '@abc' does not denote a loop
// ERROR: The label '@cde' does not denote a loop
// ERROR: The label '@data' does not denote a loop
// ERROR: The label '@loop' does not denote a loop
// ERROR: The label '@loop2' does not denote a loop
// ERROR: The label '@loop3' does not denote a loop
// ERROR: The label '@loop4' does not denote a loop
// ERROR: The label '@loop5' does not denote a loop
fun run(block: () -> Unit) = block()
notLabelAnnotation class A {
fun foo() {
@loop<caret>
for (i in 1..100) {
/* comment */
continue@loop
}
@noreferences for (i in 1..100) {
val x = 1
}
@loop1 for (i in 1..100) {
loop1@ for (j in 1..100) {
continue@loop1
}
}
@loop2 for (i in 1..100) {
@loop2 for (j in 1..100) {
break@loop2
}
}
@[loop3] for (i in 1..100) {
continue@loop3
}
run() @labeled {
return@labeled
}
@data for (i in 1..100) {
continue@data
}
@ for (i in 1..100) {
break@
}
@loop4() for (i in 1..100) {
continue@loop4
}
@notLoop class Local
@abc @cde for (i in 1..100) {
break@cde
break@abc
}
/* 123 */ @loop5 /* 456 */
for (i in 1..100) {
break@loop5
} /* 789 */
}
}
@@ -0,0 +1,5 @@
fun bar() {
@l while (true) {
break@l
}
}