javac-wrapper: constant evaluator

This commit is contained in:
baratynskiy
2017-08-03 16:21:49 +03:00
committed by Alexander Baratynskiy
parent 4f180e1292
commit 1b0d7ff5be
40 changed files with 910 additions and 322 deletions
@@ -0,0 +1,24 @@
// FILE: a/x.java
package a;
public interface x {
double D = Double.MAX_VALUE;
double D2 = D - 32.12111;
float F = Float.MAX_VALUE;
float F2 = F - 1231.965f;
int I = Integer.MAX_VALUE;
int I2 = I - 42;
byte B = Byte.MAX_VALUE;
byte B2 = B - 3;
long L = Long.MAX_VALUE;
long L2 = L - 5545342;
short S = Short.MAX_VALUE;
short S2 = S - 5;
}
@@ -0,0 +1,24 @@
package
package a {
public interface x {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public const final val B: kotlin.Byte = 127.toByte()
public const final val B2: kotlin.Byte = 124.toByte()
public const final val D: kotlin.Double = 1.7976931348623157E308.toDouble()
public const final val D2: kotlin.Double = 1.7976931348623157E308.toDouble()
public const final val F: kotlin.Float = 3.4028235E38.toFloat()
public const final val F2: kotlin.Float = 3.4028235E38.toFloat()
public const final val I: kotlin.Int = 2147483647
public const final val I2: kotlin.Int = 2147483605
public const final val L: kotlin.Long = 9223372036854775807.toLong()
public const final val L2: kotlin.Long = 9223372036849230465.toLong()
public const final val S: kotlin.Short = 32767.toShort()
public const final val S2: kotlin.Short = 32762.toShort()
}
}
@@ -0,0 +1,15 @@
// FILE: a/x.java
package a;
public class x {
public static class y {
public static final int I = 42;
}
}
// FILE: b/x.java
package b;
public class x {
public static final int I = a.x.y.I;
}
@@ -0,0 +1,34 @@
package
package a {
public open class x {
public constructor x()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open class y {
public constructor y()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public const final val I: kotlin.Int = 42
}
}
}
package b {
public open class x {
public constructor x()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public const final val I: kotlin.Int = 42
}
}
@@ -0,0 +1,26 @@
// FILE: test.kt
package a
const val CONST = "CONST"
open class Test {
companion object {
const val CONST = 42
}
}
// FILE: a/x.java
package a;
public class x {
public static final String CONST1 = TestKt.CONST;
public static final int CONST2 = Test.CONST;
public class y extends Test {
public static final int I = CONST;
}
}
@@ -0,0 +1,41 @@
package
package a {
public const val CONST: kotlin.String = "CONST"
public open class Test {
public constructor Test()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public companion object Companion {
private constructor Companion()
public const final val CONST: kotlin.Int = 42
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
public open class x {
public constructor x()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open inner class y : a.Test {
public constructor y()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public const final val I: kotlin.Int = 42
}
// Static members
public const final val CONST1: kotlin.String = "CONST"
public const final val CONST2: kotlin.Int = 42
}
}
@@ -0,0 +1,27 @@
// FILE: a/X.java
package a;
public interface X {
int I = 42;
interface Y extends X {
int O = I;
class XY implements X, Y {
public static final int I = O + X.I;
public class XYZ extends XY implements Y {
int O = I;
}
}
}
class C {
public static final double Pi = 3.14;
interface I {
double Pi = 41.3;
class Z {
public static final double CONST = Pi;
}
}
}
}
@@ -0,0 +1,76 @@
package
package a {
public interface X {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open class C {
public constructor C()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public/*package*/ interface I {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open class Z {
public constructor Z()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public const final val CONST: kotlin.Double = 41.3.toDouble()
}
// Static members
public const final val Pi: kotlin.Double = 41.3.toDouble()
}
// Static members
public const final val Pi: kotlin.Double = 3.14.toDouble()
}
public interface Y : a.X {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open class XY : a.X, a.X.Y {
public constructor XY()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
public open inner class XYZ : a.X.Y.XY, a.X.Y {
public constructor XYZ()
public/*package*/ final var O: kotlin.Int
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 84
public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 42
public const final override /*2*/ /*fake_override*/ val O: kotlin.Int = 42
}
// Static members
public const final val I: kotlin.Int = 84
public const final override /*1*/ /*fake_override*/ val O: kotlin.Int = 42
}
// Static members
public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 42
public const final val O: kotlin.Int = 42
}
// Static members
public const final val I: kotlin.Int = 42
}
}