Check for exposed local classes (or objects) in type signatures

This commit is contained in:
Dmitry Petrov
2015-10-09 09:47:10 +03:00
parent cbf4e4a973
commit 7e51fb8521
22 changed files with 364 additions and 47 deletions
@@ -6,12 +6,12 @@ fun <T> run(f: () -> T): T {
return f()
}
fun foo(a: Int) = run {
private fun foo(a: Int) = run {
class A
A()
}
fun foo() = run {
private fun foo() = run {
class A
A()
}
@@ -1,8 +1,8 @@
package
package p {
public fun foo(): p.foo.<anonymous>.A
public fun foo(/*0*/ a: kotlin.Int): p.foo.<anonymous>.A
private fun foo(): p.foo.<anonymous>.A
private fun foo(/*0*/ a: kotlin.Int): p.foo.<anonymous>.A
public fun </*0*/ T> run(/*0*/ f: () -> T): T
public fun test(): kotlin.Unit
}
@@ -6,14 +6,14 @@ fun <T> run(f: () -> T): T {
return f()
}
fun foo(a: Int) = run {
private fun foo(a: Int) = run {
object {
inner class A
fun foo() = A()
}.foo()
}
fun foo() = run {
private fun foo() = run {
object {
inner class A
fun foo() = A()
@@ -1,8 +1,8 @@
package
package p {
public fun foo(): p.foo.<anonymous>.<no name provided>.A
public fun foo(/*0*/ a: kotlin.Int): p.foo.<anonymous>.<no name provided>.A
private fun foo(): p.foo.<anonymous>.<no name provided>.A
private fun foo(/*0*/ a: kotlin.Int): p.foo.<anonymous>.<no name provided>.A
public fun </*0*/ T> run(/*0*/ f: () -> T): T
public fun test(): kotlin.Unit
}
@@ -6,14 +6,14 @@ fun <T> run(f: () -> T): T {
return f()
}
fun foo(a: Int) = run {
private fun foo(a: Int) = run {
class A {
inner class B
}
A().B()
}
fun foo() = run {
private fun foo() = run {
class A {
inner class B
}
@@ -1,8 +1,8 @@
package
package p {
public fun foo(): p.foo.<anonymous>.A.B
public fun foo(/*0*/ a: kotlin.Int): p.foo.<anonymous>.A.B
private fun foo(): p.foo.<anonymous>.A.B
private fun foo(/*0*/ a: kotlin.Int): p.foo.<anonymous>.A.B
public fun </*0*/ T> run(/*0*/ f: () -> T): T
public fun test(): kotlin.Unit
}