UltraLight implementation for local and anonymous declarations

This commit is contained in:
Igor Yakovlev
2019-07-08 21:27:18 +03:00
parent d6c54b845b
commit 79a603768a
18 changed files with 389 additions and 178 deletions
@@ -1,15 +0,0 @@
static final class Foo$bar$A$B {
public Foo$bar$A$B() { /* compiled code */ }
final class C$D {
public C$D() { /* compiled code */ }
}
final class $$$$$$$ {
public $$$$$$$() { /* compiled code */ }
final class G$G$ {
public G$G$() { /* compiled code */ }
}
}
}
@@ -0,0 +1,37 @@
public final class Foo /* c.b.a.Foo*/ {
@null()
public Foo();
public final void bar();
}
public static final class A$B /* null*/ {
@null()
public A$B();
class $$$$$$$ ...
class C$D ...
}
public final class C$D /* null*/ {
@null()
public C$D();
}
public final class $$$$$$$ /* null*/ {
@null()
public $$$$$$$();
class G$G$ ...
}
public final class G$G$ /* null*/ {
@null()
public G$G$();
}
@@ -6,6 +6,14 @@ public final class Prop /* Prop*/ {
}
final class null /* null*/ {
@null()
public static final java.lang.Object INSTANCE;
private ();
}
public final class Fun /* Fun*/ {
@null()
public Fun();
@@ -14,6 +22,14 @@ public final class Fun /* Fun*/ {
}
final class null /* null*/ {
@null()
public static final java.lang.Object INSTANCE;
private ();
}
public final class ArrayOfAnonymous /* ArrayOfAnonymous*/ {
private final java.lang.Object[] a1;
@@ -25,6 +41,19 @@ public final class ArrayOfAnonymous /* ArrayOfAnonymous*/ {
}
final class null /* null*/ {
@null()
public static final java.lang.Object INSTANCE;
private static final java.lang.String fy /* constant value text */;
@org.jetbrains.annotations.NotNull()
public final java.lang.String getFy();
private ();
}
final class C /* C*/ {
private final int y;
@@ -40,6 +69,17 @@ final class C /* C*/ {
}
final class null /* null*/ {
@null()
public static final java.lang.Object INSTANCE;
@org.jetbrains.annotations.NotNull()
public java.lang.String toString();
private ();
}
public abstract class Super /* Super*/ {
@null()
public Super();
@@ -60,6 +100,19 @@ public final class Sub /* Sub*/ extends Super {
}
final class null /* null*/ {
@null()
public static final java.lang.Object INSTANCE;
private static final java.lang.String fy /* constant value text */;
@org.jetbrains.annotations.NotNull()
public final java.lang.String getFy();
private ();
}
public final class ValidPublicSupertype /* ValidPublicSupertype*/ {
private final java.lang.Runnable x;
@@ -74,6 +127,26 @@ public final class ValidPublicSupertype /* ValidPublicSupertype*/ {
}
final class null /* null*/ implements java.lang.Runnable {
@null()
public static final java.lang.Runnable INSTANCE;
private ();
public void run();
}
final class null /* null*/ implements java.lang.Runnable {
@null()
public static final java.lang.Runnable INSTANCE;
private ();
public void run();
}
public abstract interface I /* I*/ {
}
@@ -90,3 +163,23 @@ public final class InvalidPublicSupertype /* InvalidPublicSupertype*/ {
public final java.lang.Runnable getX();
}
final class null /* null*/ implements I, java.lang.Runnable {
@null()
public static final java.lang.Runnable INSTANCE;
private ();
public void run();
}
final class null /* null*/ implements I, java.lang.Runnable {
@null()
public static final java.lang.Runnable INSTANCE;
private ();
public void run();
}
@@ -0,0 +1,19 @@
public final class Boo /* Boo*/ {
@null()
public Boo();
public final void fooBar();
}
public static final class LocalClassBase /* null*/ {
@null()
public LocalClassBase();
}
public static final class LocalClassDerived /* null*/ extends LocalClassBase {
@null()
public LocalClassDerived();
}
@@ -0,0 +1,7 @@
class Boo {
fun fooBar() {
class LocalClassBase
class LocalClassDerived : LocalClassBase
}
}