'ConstructorDescriptor#getConstructedClass()' should be used to obtain a descriptor for constructed class

(it can be different from 'getContainingDeclaration()' in case of type alias constructor).

KT-15109 Subclass from a type alias with named parameter in constructor will produce compiler exception
KT-15192 Compiler crashes on certain companion objects: "Error generating constructors of class Companion with kind IMPLEMENTATION"
This commit is contained in:
Dmitry Petrov
2017-03-07 16:47:30 +03:00
parent 9a2c9ed30e
commit f950ff4b8f
6 changed files with 48 additions and 3 deletions
+9
View File
@@ -0,0 +1,9 @@
open class A(private val s: String = "") {
fun foo() = s
}
typealias B = A
class C : B(s = "OK")
fun box() = C().foo()
@@ -0,0 +1,18 @@
@kotlin.Metadata
public class A {
private final field s: java.lang.String
public @synthetic.kotlin.jvm.GeneratedByJvmOverloads method <init>(): void
public method <init>(@org.jetbrains.annotations.NotNull p0: java.lang.String): void
public synthetic method <init>(p0: java.lang.String, p1: int, p2: kotlin.jvm.internal.DefaultConstructorMarker): void
public final @org.jetbrains.annotations.NotNull method foo(): java.lang.String
}
@kotlin.Metadata
public final class C {
public method <init>(): void
}
@kotlin.Metadata
public final class Kt15109Kt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
}