Implement "Safe Delete" refactoring for properties

This commit is contained in:
Alexey Sedunov
2013-07-19 19:01:34 +04:00
parent 9c60637ef3
commit 639336b2f5
109 changed files with 1287 additions and 85 deletions
@@ -0,0 +1,10 @@
trait A {
val foo: String
}
class B: A {
override val <caret>foo: String
get() {
return "B"
}
}
@@ -0,0 +1 @@
val foo: jet.String in final class B : A implements val foo: jet.String in trait A.
@@ -0,0 +1,14 @@
trait A {
val foo: String
}
trait Z {
val foo: String
}
class B: A, Z {
override val <caret>foo: String
get() {
return "B"
}
}
@@ -0,0 +1,2 @@
val foo: jet.String in final class B : A, Z implements val foo: jet.String in trait A.
val foo: jet.String in final class B : A, Z implements val foo: jet.String in trait Z.
@@ -0,0 +1,13 @@
trait A {
var foo: String
}
class B: A {
override var <caret>foo: String
get() {
return "B"
}
set(value: String) {
println()
}
}
@@ -0,0 +1 @@
var foo: jet.String in final class B : A implements var foo: jet.String in trait A.
@@ -0,0 +1,17 @@
trait A {
var foo: String
}
trait Z {
var foo: String
}
class B: A, Z {
override var <caret>foo: String
get() {
return "B"
}
set(value: String) {
println()
}
}
@@ -0,0 +1,2 @@
var foo: jet.String in final class B : A, Z implements var foo: jet.String in trait A.
var foo: jet.String in final class B : A, Z implements var foo: jet.String in trait Z.
@@ -0,0 +1,10 @@
trait A {
val <caret>foo: String
}
class B: A {
override val foo: String
get() {
return "B"
}
}
@@ -0,0 +1,5 @@
trait A {
}
class B: A {
}
@@ -0,0 +1,13 @@
trait A {
var <caret>foo: String
}
class B: A {
override val foo: String
get() {
return "B"
}
set(value: String) {
}
}
@@ -0,0 +1,5 @@
trait A {
}
class B: A {
}
@@ -0,0 +1,14 @@
trait A {
val <caret>foo: String
}
trait Z {
val foo: String
}
class B: A, Z {
override val foo: String
get() {
return "B"
}
}
@@ -0,0 +1,13 @@
trait A {
}
trait Z {
val foo: String
}
class B: A, Z {
override val foo: String
get() {
return "B"
}
}
@@ -0,0 +1,17 @@
trait A {
var <caret>foo: String
}
trait Z {
var foo: String
}
class B: A, Z {
override val foo: String
get() {
return "B"
}
set(value: String) {
}
}
@@ -0,0 +1,16 @@
trait A {
}
trait Z {
var foo: String
}
class B: A, Z {
override val foo: String
get() {
return "B"
}
set(value: String) {
}
}
@@ -0,0 +1,9 @@
class C {
val <caret>foo: String
get() {
return "foo"
}
}
class B {
}
@@ -0,0 +1,5 @@
class C {
}
class B {
}
@@ -0,0 +1,13 @@
open class A {
open val foo: String
get() {
return "A"
}
}
class B: A() {
override val <caret>foo: String
get() {
return "B"
}
}
@@ -0,0 +1,9 @@
open class A {
open val foo: String
get() {
return "A"
}
}
class B: A() {
}
@@ -0,0 +1,13 @@
open class A {
open val <caret>foo: String
get() {
return "A"
}
}
class B: A() {
override val foo: String
get() {
return "B"
}
}
@@ -0,0 +1,5 @@
open class A {
}
class B: A() {
}
@@ -0,0 +1,19 @@
open class A {
open var foo: String
get() {
return "A"
}
set(value: String) {
println()
}
}
class B: A() {
override var <caret>foo: String
get() {
return "B"
}
set(value: String) {
println()
}
}
@@ -0,0 +1,12 @@
open class A {
open var foo: String
get() {
return "A"
}
set(value: String) {
println()
}
}
class B: A() {
}
@@ -0,0 +1,19 @@
open class A {
open var <caret>foo: String
get() {
return "A"
}
set(value: String) {
println()
}
}
class B: A() {
override var foo: String
get() {
return "B"
}
set(value: String) {
println()
}
}
@@ -0,0 +1,5 @@
open class A {
}
class B: A() {
}
@@ -0,0 +1,17 @@
open class A {
open val foo: String
get() {
return "A"
}
}
trait Z {
val foo: String
}
class B: A(), Z {
override val <caret>foo: String
get() {
return "B"
}
}
@@ -0,0 +1 @@
val foo: jet.String in final class B : A, Z implements val foo: jet.String in trait Z.
@@ -0,0 +1,17 @@
open class A {
open val <caret>foo: String
get() {
return "A"
}
}
trait Z {
val foo: String
}
class B: A(), Z {
override val foo: String
get() {
return "B"
}
}
@@ -0,0 +1,13 @@
open class A {
}
trait Z {
val foo: String
}
class B: A(), Z {
override val foo: String
get() {
return "B"
}
}
@@ -0,0 +1,23 @@
open class A {
open var foo: String
get() {
return "A"
}
set(value: String) {
println()
}
}
trait Z {
var foo: String
}
class B: A(), Z {
override var <caret>foo: String
get() {
return "B"
}
set(value: String) {
println()
}
}
@@ -0,0 +1 @@
var foo: jet.String in final class B : A, Z implements var foo: jet.String in trait Z.
@@ -0,0 +1,23 @@
open class A {
open var <caret>foo: String
get() {
return "A"
}
set(value: String) {
println()
}
}
trait Z {
var foo: String
}
class B: A(), Z {
override var foo: String
get() {
return "B"
}
set(value: String) {
println()
}
}
@@ -0,0 +1,16 @@
open class A {
}
trait Z {
var foo: String
}
class B: A(), Z {
override var foo: String
get() {
return "B"
}
set(value: String) {
println()
}
}
@@ -0,0 +1,17 @@
open class A {
val <caret>foo: String
get() {
return "A"
}
}
class B: A {
fun bar() {
println(foo)
}
override val foo: String
get() {
return "B"
}
}
@@ -0,0 +1,13 @@
open class A {
}
class B: A {
fun bar() {
println(foo)
}
override val foo: String
get() {
return "B"
}
}
@@ -0,0 +1,9 @@
package test
import test.foo
val <caret>foo = "foo"
class B {
}
@@ -0,0 +1,5 @@
package test
class B {
}
@@ -0,0 +1,9 @@
package test
import test.foo
val <caret>foo = "foo"
class B {
val ref = foo
}
@@ -0,0 +1,2 @@
Property foo has 1 usage that is not safe to delete.
Of those 0 usages are in strings, comments, or non-code files.