Add tests for obsolete "nested class is inaccessible"

#KT-3535 Obsolete
 #KT-3647 Obsolete
 #KT-3731 Obsolete
This commit is contained in:
Alexander Udalov
2014-10-16 18:08:41 +04:00
parent 0def7d4b4e
commit d3e3039eb2
7 changed files with 111 additions and 0 deletions
@@ -0,0 +1,9 @@
// KT-3535 Functional value-parametr in nested class is inaccessible
class Foo {
class Bar(val p: (Any) -> Any) {
fun f() {
p(1)
}
}
}
@@ -0,0 +1,17 @@
package
internal final class Foo {
public constructor Foo()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
internal final class Bar {
public constructor Bar(/*0*/ p: (kotlin.Any) -> kotlin.Any)
internal final val p: (kotlin.Any) -> kotlin.Any
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
internal final fun f(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,9 @@
// KT-3647 Unexpected compilation error: "Expression is inaccessible from a nested class"
class Test(val value: Int) {
class object {
fun create(init: () -> Int): Test {
return Test(init())
}
}
}
@@ -0,0 +1,17 @@
package
internal final class Test {
public constructor Test(/*0*/ value: kotlin.Int)
internal final val value: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
internal class object <class-object-for-Test> {
private constructor <class-object-for-Test>()
internal final fun create(/*0*/ init: () -> kotlin.Int): Test
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,17 @@
// KT-3731 Resolve & inner class
class A {
fun foo() {}
fun bar(f: A.() -> Unit = {}) = f()
}
class B {
class D {
{
A().bar {
this.foo()
foo()
}
}
}
}
@@ -0,0 +1,24 @@
package
internal final class A {
public constructor A()
internal final fun bar(/*0*/ f: A.() -> kotlin.Unit = ...): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
internal final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
internal final class B {
public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
internal final class D {
public constructor D()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -8399,6 +8399,24 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
doTest(fileName);
}
@TestMetadata("kt3535.kt")
public void testKt3535() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/regressions/kt3535.kt");
doTest(fileName);
}
@TestMetadata("kt3647.kt")
public void testKt3647() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/regressions/kt3647.kt");
doTest(fileName);
}
@TestMetadata("kt3731.kt")
public void testKt3731() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/regressions/kt3731.kt");
doTest(fileName);
}
@TestMetadata("kt385.109.441.kt")
public void testKt385_109_441() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/regressions/kt385.109.441.kt");