4f701285b1
Class APIs from java point of view stays the same so we can avoid generating those methods
Otherwise we have to calculate all supertypes when getMethods() is called,
which imposes severe performance penalties
We have to pretend these methods are not 'abstract' (also we consider them 'default' for safety)
so java highlighting does not report "class should be abstract" for all inheritors
We have to manually report "class should be abstract" on some of the java inheritors,
specifically those that are implementing interfaces directly
as opposed to extending kotlin classes implementing those interfaces
55 lines
1.3 KiB
Plaintext
Vendored
55 lines
1.3 KiB
Plaintext
Vendored
public final class MyClass {
|
|
private static final int CONST
|
|
|
|
public static final MyClass.Companion Companion
|
|
|
|
public final void myClassFun()
|
|
|
|
public void <init>()
|
|
|
|
public static final class Companion {
|
|
public final int getCONST()
|
|
|
|
private void <init>()
|
|
}
|
|
|
|
public static final class NestedClass {
|
|
private static final int CONSTA
|
|
|
|
public static final MyClass.NestedClass.A A
|
|
|
|
public final void nestedClassFun()
|
|
|
|
public void <init>()
|
|
|
|
public static final class A {
|
|
public final int getCONSTA()
|
|
|
|
private void <init>()
|
|
}
|
|
|
|
public static final class NestedNestedClass {
|
|
public final void nestedNestedClassFun()
|
|
|
|
public void <init>()
|
|
}
|
|
}
|
|
|
|
public final class InnerClass {
|
|
public final void innerClassFun()
|
|
|
|
public void <init>()
|
|
}
|
|
|
|
public static abstract interface InnerInterface {
|
|
public abstract void innerInterfaceFun()
|
|
|
|
public default int innerInterfaceFunWithImpl()
|
|
|
|
public static final class DefaultImpls {
|
|
public static int innerInterfaceFunWithImpl(MyClass.InnerInterface $this)
|
|
|
|
public void <init>()
|
|
}
|
|
}
|
|
} |