Test for IllegalArgumentException bug from JVM backend (KT-6149)

JVM backend fails with IllegalArgumentException: Argument for @NotNull parameter 'descriptor' of org/jetbrains/jet/codegen/PropertyCodegen.gen must not be null

 #KT-6149 Fixed
This commit is contained in:
Nikolay Krasko
2014-10-29 21:53:33 +03:00
parent edf4ab8e64
commit 840e16baa0
3 changed files with 65 additions and 2 deletions
@@ -0,0 +1,16 @@
// FILE: Bar.java
public class Bar implements Foo {
public interface I extends Boo {
}
}
// FILE: Baz.kt
public trait Foo {
class object {
public val EMPTY: Foo = object : Foo{}
}
}
trait Boo
public class Baz : Bar.I
@@ -0,0 +1,41 @@
package
public open class Bar : Foo {
public constructor Bar()
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
public trait I : Boo {
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
}
}
public final class Baz : Bar.I {
public constructor Baz()
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 trait Boo {
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
}
public trait 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
public class object <class-object-for-Foo> {
private constructor <class-object-for-Foo>()
public final val EMPTY: 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
}
}