Create from usage: make new member function/property private by default

#KT-6689 Fixed
This commit is contained in:
Alexey Sedunov
2015-02-03 21:10:58 +03:00
parent eac735e91a
commit 57763e10e0
30 changed files with 76 additions and 26 deletions
@@ -6,7 +6,7 @@ class A {
return foo(2, "2")
}
fun foo(i: Int, s: String): Int {
private fun foo(i: Int, s: String): Int {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
@@ -5,7 +5,7 @@ import kotlin.properties.ReadOnlyProperty
class A<T>(val t: T) {
val x: A<Int> by foo(t, "")
fun foo(t: T, s: String): ReadOnlyProperty<A<T>, A<Int>> {
private fun foo(t: T, s: String): ReadOnlyProperty<A<T>, A<Int>> {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
@@ -5,7 +5,7 @@ import kotlin.properties.ReadWriteProperty
class A<T>(val t: T) {
var x: A<Int> by foo(t, "")
fun foo(t: T, s: String): ReadWriteProperty<A<T>, A<Int>> {
private fun foo(t: T, s: String): ReadWriteProperty<A<T>, A<Int>> {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
@@ -6,7 +6,7 @@ class A {
return foo(2, "2")
}
fun foo(i: Int, s: String): Int {
private fun foo(i: Int, s: String): Int {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
@@ -0,0 +1,10 @@
// "Create function 'foo'" "true"
class A {
fun test() {
foo()
}
private fun foo() {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
@@ -5,7 +5,7 @@ class A<T>(val n: T) {
return this.foo(2, "2")
}
fun foo(i: Int, s: String): A<Int> {
private fun foo(i: Int, s: String): A<Int> {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
@@ -6,7 +6,7 @@ class A<T>(val n: T) {
return this.foo(2, "2")
}
fun foo(i: Int, s: String): A<Int> {
private fun foo(i: Int, s: String): A<Int> {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
@@ -7,7 +7,7 @@ class A<T>(val n: T) {
}
}
fun foo(i: Int, s: String): A<Int> {
private fun foo(i: Int, s: String): A<Int> {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
@@ -0,0 +1,6 @@
// "Create function 'foo'" "true"
class A {
fun test() {
<caret>foo()
}
}
@@ -4,7 +4,7 @@ class Foo<T> {
val z: Iterable<T> = y[""]
}
fun get(s: String): T {
private fun get(s: String): T {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
@@ -4,7 +4,7 @@ class Foo<T> {
val z: Iterable<T> = y["", w]
}
fun get(s: String, w: T): T {
private fun get(s: String, w: T): T {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
@@ -8,7 +8,7 @@ class Foo<T> {
bar(z)
}
fun <V> get(s: String, w: ArrayList<V>): String {
private fun <V> get(s: String, w: ArrayList<V>): String {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
@@ -4,7 +4,7 @@ class Foo<T> {
val z: Iterable<S> = y[""]
}
fun get(s: String): T {
private fun get(s: String): T {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
@@ -4,7 +4,7 @@ class Foo<T, S: Iterable<T>> {
val z: U = y[""]
}
fun get(s: String): T {
private fun get(s: String): T {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
@@ -4,7 +4,7 @@ class Foo<T> {
val z: Iterable<T> = y["", w]
}
fun <V> get(s: String, w: Iterable<V>): T {
private fun <V> get(s: String, w: Iterable<V>): T {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
@@ -6,7 +6,7 @@ class Foo<T> {
val z: Iterable<T> = y["", w, v]
}
fun <V, T1> get(s: String, w: ArrayList<V>, v: T1): T {
private fun <V, T1> get(s: String, w: ArrayList<V>, v: T1): T {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
@@ -6,7 +6,7 @@ class Foo<T> {
val z: Iterable<T> = y["", w]
}
fun get(s: String, w: T): T {
private fun get(s: String, w: T): T {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
@@ -6,7 +6,7 @@ class Foo<S> {
val z: Iterable<T> = y["", w]
}
fun get(s: String, w: S): S {
private fun get(s: String, w: S): S {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
@@ -4,7 +4,7 @@ class Foo<T> {
y["", w] = w
}
fun set(s: String, w: T, value: T) {
private fun set(s: String, w: T, value: T) {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
@@ -5,6 +5,6 @@
import kotlin.properties.ReadOnlyProperty
class A<T> {
val foo: ReadOnlyProperty<A<T>, A<Int>>
private val foo: ReadOnlyProperty<A<T>, A<Int>>
val x: A<Int> by foo
}
@@ -3,7 +3,7 @@
class A {
class B {
val foo: Int
private val foo: Int
fun test(): Int {
return foo
@@ -5,6 +5,6 @@
import kotlin.properties.ReadWriteProperty
class A<T> {
val foo: ReadWriteProperty<A<T>, A<Int>>
private val foo: ReadWriteProperty<A<T>, A<Int>>
var x: A<Int> by foo
}
@@ -3,7 +3,7 @@
class A {
object B {
val foo: Int
private val foo: Int
fun test(): Int {
return foo
@@ -0,0 +1,9 @@
// "Create property 'foo'" "true"
// ERROR: Property must be initialized or be abstract
class A {
private var foo: Int
fun test() {
foo = 1
}
}
@@ -2,7 +2,7 @@
// ERROR: Property must be initialized or be abstract
class A<T>(val n: T) {
val foo: A<Int>
private val foo: A<Int>
fun test(): A<Int> {
return this.foo
@@ -3,7 +3,7 @@
class A<T>(val n: T) {
inner class B<U>(val m: U) {
val foo: A<Int>
private val foo: A<Int>
fun test(): A<Int> {
return this.foo
@@ -2,7 +2,7 @@
// ERROR: Property must be initialized or be abstract
class A<T>(val n: T) {
val foo: A<Int>
private val foo: A<Int>
inner class B<U>(val m: U) {
fun test(): A<Int> {
@@ -0,0 +1,7 @@
// "Create property 'foo'" "true"
// ERROR: Property must be initialized or be abstract
class A {
fun test() {
<caret>foo = 1
}
}