KT-1717 Don't make member visibility inherit when it is not declared explicitly

#KT-1717 Fixed
This commit is contained in:
Svetlana Isakova
2012-04-03 19:12:29 +04:00
parent 5df7258708
commit 9b2eeb076e
45 changed files with 115 additions and 159 deletions
@@ -2,7 +2,7 @@ class C() {
fun getInstance(): Runnable = C
class object: Runnable {
override fun run(): Unit { }
public override fun run(): Unit { }
}
}
@@ -78,25 +78,25 @@ fun box() : String {
}
class MyCollection1(): java.lang.Iterable<Int> {
override fun iterator(): java.util.Iterator<Int> = MyIterator()
public override fun iterator(): java.util.Iterator<Int> = MyIterator()
class MyIterator(): java.util.Iterator<Int> {
var k : Int = 5
override fun next() : Int = k--
override fun hasNext() = k > 0
override fun remove() {}
public override fun next() : Int = k--
public override fun hasNext() = k > 0
public override fun remove() {}
}
}
class MyCollection2(): Iterable<Int> {
override fun iterator(): Iterator<Int> = MyIterator()
public override fun iterator(): Iterator<Int> = MyIterator()
class MyIterator(): Iterator<Int> {
var k : Int = 5
override fun next() : Int = k--
override val hasNext : Boolean
public override fun next() : Int = k--
public override val hasNext : Boolean
get() = k > 0
}
}
@@ -3,7 +3,7 @@ import java.util.concurrent.atomic.*
fun thread(block: ()->Unit ) {
val thread = object: Thread() {
override fun run() {
public override fun run() {
block()
}
}
@@ -1,7 +1,7 @@
class C(x: Int, val y : Int) {
fun initChild(var x: Int) : java.lang.Object {
return object : java.lang.Object() {
override fun toString(): String? {
public override fun toString(): String? {
x = x + y
return "child" + x
}
@@ -3,7 +3,7 @@ package p
class C(val y : Int) {
val initChild = { ->
object : java.lang.Object() {
override fun toString(): String {
public override fun toString(): String {
return "child" + y
}
}
@@ -2,7 +2,7 @@ import java.util.ArrayList
public object SomeObject {
private val workerThread = object : Thread() {
override fun run() {
public override fun run() {
foo()
}
}
@@ -2,7 +2,7 @@ public object SomeClass {
var bug: Any = ""
private val workerThread = object : Thread() {
override fun run() {
public override fun run() {
try {
foo()
bug = "none"
@@ -1,6 +1,6 @@
public object RefreshQueue {
private val workerThread: Thread = Thread(object : Runnable {
override fun run() {
public override fun run() {
workerThread.isInterrupted()
}
});
@@ -7,9 +7,9 @@ public abstract class BaseClass() {
}
public class Subclass : BaseClass() {
override val kind : String = "Physical"
protected override val kind : String = "Physical"
override val kind2 : String = " kind2"
protected override val kind2 : String = " kind2"
}
fun box():String = if(Subclass().debug() == "Physical kind2") "OK" else "fail"
@@ -1,5 +1,5 @@
class MyRange1() : Range<Int> {
override fun contains(item: Int) = true
public override fun contains(item: Int) = true
}
class MyRange2() {
@@ -163,7 +163,7 @@ fun t11(var x: Int) : Int {
fun t12(x: Int) : Int {
var y = x
val runnable = object : Runnable {
override fun run () {
public override fun run () {
y = y + 1
}
}
@@ -95,11 +95,11 @@ fun LinkedList<Int>.sum(f : (Int, Int) -> Int) : Int {
}
fun <T> List<T>.backwards() : Iterable<T> = object : Iterable<T> {
override fun iterator() : jet.Iterator<T> =
public override fun iterator() : jet.Iterator<T> =
object : jet.Iterator<T> {
var current = size()
override fun next() : T = get(--current)
override val hasNext : Boolean get() = current > 0
public override fun next() : T = get(--current)
public override val hasNext : Boolean get() = current > 0
}
}
@@ -1,5 +1,5 @@
class Book(val name: String) : Comparable<Book> {
override fun compareTo(other: Book) = name.compareTo(other.name)
public override fun compareTo(other: Book) = name.compareTo(other.name)
}
fun box() = if(Book("239").compareTo(Book("932")) != 0) "OK" else "fail"
@@ -3,13 +3,13 @@ import java.util.*
fun box() : String {
val w = object : Comparator<String?> {
override fun compare(o1 : String?, o2 : String?) : Int {
public override fun compare(o1 : String?, o2 : String?) : Int {
val l1 : Int = o1?.length ?: 0
val l2 = o2?.length ?: 0
return l1 - l2
}
override fun equals(obj: Any?): Boolean = obj === this
public override fun equals(obj: Any?): Boolean = obj === this
}
w.compare("aaa", "bbb")
@@ -1,7 +1,7 @@
import java.util.ArrayList
class N() : ArrayList<Any>() {
override fun add(el: Any) : Boolean {
public override fun add(el: Any) : Boolean {
if (!super<ArrayList>.add(el)) {
throw Exception()
}
+1 -1
View File
@@ -3,7 +3,7 @@ trait SimpleClass : java.lang.Object {
}
class SimpleClassImpl() : SimpleClass {
override fun toString() = "SimpleClassImpl"
public override fun toString() = "SimpleClassImpl"
}
fun box() : String {
+4 -4
View File
@@ -3,7 +3,7 @@ trait ISized {
}
trait javaUtilIterator<T> : java.util.Iterator<T> {
override fun remove() : Unit {
public override fun remove() : Unit {
throw UnsupportedOperationException()
}
}
@@ -11,9 +11,9 @@ trait javaUtilIterator<T> : java.util.Iterator<T> {
class MyIterator<T>(val array : ReadOnlyArray<T>) : javaUtilIterator<T> {
private var index = 0
override fun hasNext() : Boolean = index < array.size
public override fun hasNext() : Boolean = index < array.size
override fun next() : T = array.get(index++)
public override fun next() : T = array.get(index++)
}
trait ReadOnlyArray<out T> : ISized, java.lang.Iterable<T> {
@@ -23,7 +23,7 @@ trait ReadOnlyArray<out T> : ISized, java.lang.Iterable<T> {
fun check(v: Any) = v is T
}
override fun iterator() : java.util.Iterator<T> = MyIterator<T>(this)
public override fun iterator() : java.util.Iterator<T> = MyIterator<T>(this)
}
trait WriteOnlyArray<in T> : ISized {
@@ -18,12 +18,12 @@ class Z : Y() {
class MyIterable<T> : Iterable<T>
{
override fun iterator(): Iterator<T> = MyIterator()
public override fun iterator(): Iterator<T> = MyIterator()
class MyIterator : Iterator<T>
{
override val hasNext: Boolean = false
override fun next(): T {
public override val hasNext: Boolean = false
public override fun next(): T {
throw UnsupportedOperationException()
}
}
@@ -1,10 +1,10 @@
import java.util.Enumeration
inline fun <T> java.util.Enumeration<T>.iterator() = object: Iterator<T> {
override val hasNext: Boolean
public override val hasNext: Boolean
get() = hasMoreElements()
override fun next() = nextElement()
public override fun next() = nextElement()
}
fun a(e : java.util.Enumeration<Int>) {
@@ -6,7 +6,7 @@ class Test() : Thread("Test") {
}
}
override fun run() {
public override fun run() {
init2() // unresolved
Test.init2() // ok
}
@@ -38,7 +38,7 @@ class Q {
}
}
//check that 'toString' can be invoked without specifying 'public' and ': String'
//check that 'toString' can be invoked without specifying return type
class NewClass : java.util.ArrayList<Integer>() {
override fun toString() = "a"
public override fun toString() = "a"
}
@@ -18,7 +18,7 @@ open class D {
}
class E : D() {
internal override fun self() = this
internal <!NOTHING_TO_OVERRIDE!>override<!> fun self() = this
fun test() {
val <!UNUSED_VARIABLE!>s<!> : E = self()
@@ -31,11 +31,7 @@ open class F {
}
class G : F() {
override fun protected_fun() {}
}
fun test_fun_stays_protected(g: G) {
g.<!UNRESOLVED_REFERENCE!>protected_fun<!>()
<!CANNOT_CHANGE_ACCESS_PRIVILEGE!>override<!> fun protected_fun() {}
}
//------------
@@ -61,11 +57,11 @@ trait T {
}
open class L : T {
override fun foo() {}
<!CANNOT_WEAKEN_ACCESS_PRIVILEGE!>override<!> fun foo() {}
}
class M : L() {
<!CANNOT_WEAKEN_ACCESS_PRIVILEGE!>internal<!> override fun foo() {}
internal override fun foo() {}
}
//---------------
trait R {
@@ -82,4 +78,4 @@ trait Q : R {
class S : P, Q {
<!CANNOT_CHANGE_ACCESS_PRIVILEGE!>internal<!> override fun foo() {}
}
}