Kapt3: Ignore inner classes with clashing names (KT-16458)
Ignore classes (and references to such classes in declaration signatures) if one of the containing classes has the same simple name. This is forbidden in Java, thus should not be present in kapt source stubs.
This commit is contained in:
@@ -12,4 +12,47 @@ class Test {
|
||||
enum class NestedEnum {
|
||||
BLACK, WHITE
|
||||
}
|
||||
}
|
||||
|
||||
class Foo {
|
||||
companion object Foo
|
||||
}
|
||||
|
||||
class A {
|
||||
val x: A? = null
|
||||
|
||||
fun f1(a: A, b: B): A? = null
|
||||
|
||||
interface B {
|
||||
val y: B?
|
||||
|
||||
fun f2(a: A, b: B): A? = null
|
||||
|
||||
class A {
|
||||
val x: A? = null
|
||||
val y: B? = null
|
||||
|
||||
fun f3(a: A, b: B) {}
|
||||
|
||||
object B
|
||||
}
|
||||
}
|
||||
|
||||
object C {
|
||||
interface C
|
||||
}
|
||||
}
|
||||
|
||||
class A2 {
|
||||
class B {
|
||||
class C {
|
||||
class D {
|
||||
class A2
|
||||
class B
|
||||
class Cme
|
||||
class D
|
||||
class E
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+100
@@ -1,3 +1,103 @@
|
||||
public final class A {
|
||||
@org.jetbrains.annotations.Nullable()
|
||||
private final A x = null;
|
||||
|
||||
@org.jetbrains.annotations.Nullable()
|
||||
public final A getX() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.Nullable()
|
||||
public final A f1(@org.jetbrains.annotations.NotNull()
|
||||
A a, @org.jetbrains.annotations.NotNull()
|
||||
A.B b) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public A() {
|
||||
super();
|
||||
}
|
||||
|
||||
public static abstract interface B {
|
||||
|
||||
@org.jetbrains.annotations.Nullable()
|
||||
public abstract A.B getY();
|
||||
|
||||
public static final class DefaultImpls {
|
||||
|
||||
public DefaultImpls() {
|
||||
super();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static final class C {
|
||||
public static final A.C INSTANCE = null;
|
||||
|
||||
private C() {
|
||||
super();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////
|
||||
|
||||
|
||||
public final class A2 {
|
||||
|
||||
public A2() {
|
||||
super();
|
||||
}
|
||||
|
||||
public static final class B {
|
||||
|
||||
public B() {
|
||||
super();
|
||||
}
|
||||
|
||||
public static final class C {
|
||||
|
||||
public C() {
|
||||
super();
|
||||
}
|
||||
|
||||
public static final class D {
|
||||
|
||||
public D() {
|
||||
super();
|
||||
}
|
||||
|
||||
public static final class Cme {
|
||||
|
||||
public Cme() {
|
||||
super();
|
||||
}
|
||||
}
|
||||
|
||||
public static final class E {
|
||||
|
||||
public E() {
|
||||
super();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////
|
||||
|
||||
|
||||
public final class Foo {
|
||||
|
||||
public Foo() {
|
||||
super();
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////
|
||||
|
||||
|
||||
public final class Test {
|
||||
|
||||
public Test() {
|
||||
|
||||
Reference in New Issue
Block a user