Record inner class info for interface and DefaultImpls
This commit is contained in:
@@ -9,4 +9,8 @@ public interface Generic <N, NN> {
|
||||
|
||||
@org.jetbrains.annotations.Nullable
|
||||
NN b1(@org.jetbrains.annotations.Nullable NN nn);
|
||||
}
|
||||
|
||||
@kotlin.jvm.internal.KotlinSyntheticClass(version = {0, 27, 0}, abiVersion = 27, kind = kotlin.jvm.internal.KotlinSyntheticClass.Kind.TRAIT_IMPL)
|
||||
static final class DefaultImpls {
|
||||
}
|
||||
}
|
||||
+5
-1
@@ -40,4 +40,8 @@ public interface Primitives {
|
||||
float getFloat();
|
||||
|
||||
double getDouble();
|
||||
}
|
||||
|
||||
@kotlin.jvm.internal.KotlinSyntheticClass(version = {0, 27, 0}, abiVersion = 27, kind = kotlin.jvm.internal.KotlinSyntheticClass.Kind.TRAIT_IMPL)
|
||||
static final class DefaultImpls {
|
||||
}
|
||||
}
|
||||
+11
-1
@@ -1,2 +1,12 @@
|
||||
public interface PrivateInTrait {
|
||||
}
|
||||
@kotlin.jvm.internal.KotlinSyntheticClass(version = {0, 27, 0}, abiVersion = 27, kind = kotlin.jvm.internal.KotlinSyntheticClass.Kind.TRAIT_IMPL)
|
||||
static final class DefaultImpls {
|
||||
@org.jetbrains.annotations.NotNull
|
||||
static java.lang.String getNn(PrivateInTrait $this) { /* compiled code */ }
|
||||
|
||||
static void setNn(@org.jetbrains.annotations.NotNull PrivateInTrait $this, java.lang.String value) { /* compiled code */ }
|
||||
|
||||
@org.jetbrains.annotations.Nullable
|
||||
static java.lang.String getN(PrivateInTrait $this) { /* compiled code */ }
|
||||
}
|
||||
}
|
||||
@@ -34,4 +34,8 @@ public interface Trait {
|
||||
java.lang.String getNotNullVar();
|
||||
|
||||
void setNotNullVar(@org.jetbrains.annotations.NotNull java.lang.String p);
|
||||
}
|
||||
|
||||
@kotlin.jvm.internal.KotlinSyntheticClass(version = {0, 27, 0}, abiVersion = 27, kind = kotlin.jvm.internal.KotlinSyntheticClass.Kind.TRAIT_IMPL)
|
||||
static final class DefaultImpls {
|
||||
}
|
||||
}
|
||||
+4
@@ -15,4 +15,8 @@ public interface TraitClassObjectField {
|
||||
|
||||
private Companion() { /* compiled code */ }
|
||||
}
|
||||
|
||||
@kotlin.jvm.internal.KotlinSyntheticClass(version = {0, 27, 0}, abiVersion = 27, kind = kotlin.jvm.internal.KotlinSyntheticClass.Kind.TRAIT_IMPL)
|
||||
static final class DefaultImpls {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
class B {
|
||||
static String test(A x) {
|
||||
return A.DefaultImpls.foo(x);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
interface A {
|
||||
fun foo() = "OK"
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val result = B.test(object : A {})
|
||||
if (result != "OK") return "fail: $result"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
interface A {
|
||||
fun foo() = 1
|
||||
|
||||
object C {
|
||||
|
||||
}
|
||||
|
||||
companion object {}
|
||||
}
|
||||
|
||||
// 2 public final static INNERCLASS A\$DefaultImpls A DefaultImpls
|
||||
@@ -4,8 +4,8 @@ import java.util.ArrayList;
|
||||
|
||||
abstract class TraitImpl implements Trait {
|
||||
{
|
||||
Trait$DefaultImpls.simple(this);
|
||||
Trait.DefaultImpls.simple(this);
|
||||
|
||||
Trait$DefaultImpls.generic(this, new ArrayList<String>());
|
||||
Trait.DefaultImpls.generic(this, new ArrayList<String>());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user