javac-wrapper: identifier resolver

This commit is contained in:
baratynskiy
2017-08-03 11:22:32 +03:00
committed by Alexander Baratynskiy
parent 01883a41cb
commit 4f180e1292
30 changed files with 1256 additions and 192 deletions
@@ -0,0 +1,33 @@
// FILE: a/x.java
package a;
public class x {
public static final int I = 42;
}
// FILE: a/y.java
package a;
public class y {
public static final int I = 42;
}
// FILE: b/t.java
package b;
import static a.x.*;
import static a.y.*;
public class t {
public static final int CONST = I;
}
// FILE: b/t1.java
package b;
import static a.x.*;
import static a.x.*;
public class t1 {
public static final int CONST = I;
}
@@ -0,0 +1,47 @@
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
// Static members
public const final val I: kotlin.Int = 42
}
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 t {
public constructor t()
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.Int
}
public open class t1 {
public constructor t1()
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.Int = 42
}
}
@@ -0,0 +1,45 @@
// FILE: a/x.java
package a;
public class x {
public static final String STR = "STR";
public static final String STR2 = "STR" + STR;
public static final int I = (15 / 5) + 3;
public static final int IMAX = Integer.MAX_VALUE;
public static final int I2 = Integer.MIN_VALUE + x.IMAX - 1;
public static final double D = 25.0 - 15.0;
public static final String NULL = null;
public static final int VAL = 15 % 3;
public static final boolean VAL1 = false;
public static final boolean VAL2 = VAL1 && true;
public static final boolean VAL3 = VAL1 || VAL2;
public static final boolean VAL4 = I > I2;
public static final boolean VAL5 = I < I2;
public static final boolean VAL6 = I <= D;
public static final boolean VAL7 = I >= D;
public static final boolean VAL8 = VAL1 == VAL2;
public static final boolean VAL9 = VAL1 != VAL2;
public static final boolean VAL10 = !VAL9;
public static final boolean VAL11 = STR instanceof String;
public static final byte B = 10>>1;
public static final byte B1 = 10<<1;
public static final byte B2 = 1 & 0;
public static final byte B3 = 1 | 0;
public static final byte B4 = ~1;
public static final byte B5 = 1 ^ 1;
public static final byte B6 = B>>>1;
}
// FILE: test.kt
package a
val v1 = x.STR
val v2 = x.STR2
val v3 = x.I
val v4 = x.IMAX
val v5 = x.I2
val v6 = x.D
val v7 = x.NULL
val v8 = x.VAL
@@ -0,0 +1,47 @@
package
package a {
public val v1: kotlin.String = "STR"
public val v2: kotlin.String = "STRSTR"
public val v3: kotlin.Int = 6
public val v4: kotlin.Int = 2147483647
public val v5: kotlin.Int = -2
public val v6: kotlin.Double = 10.0.toDouble()
public val v7: kotlin.String!
public val v8: kotlin.Int = 0
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 B: kotlin.Byte = 5.toByte()
public const final val B1: kotlin.Byte = 20.toByte()
public const final val B2: kotlin.Byte = 0.toByte()
public const final val B3: kotlin.Byte = 1.toByte()
public const final val B4: kotlin.Byte = -2.toByte()
public const final val B5: kotlin.Byte = 0.toByte()
public const final val B6: kotlin.Byte = 2.toByte()
public const final val D: kotlin.Double = 10.0.toDouble()
public const final val I: kotlin.Int = 6
public const final val I2: kotlin.Int = -2
public const final val IMAX: kotlin.Int = 2147483647
public const final val NULL: kotlin.String!
public const final val STR: kotlin.String = "STR"
public const final val STR2: kotlin.String = "STRSTR"
public const final val VAL: kotlin.Int = 0
public const final val VAL1: kotlin.Boolean = false
public const final val VAL10: kotlin.Boolean = true
public const final val VAL11: kotlin.Boolean
public const final val VAL2: kotlin.Boolean = false
public const final val VAL3: kotlin.Boolean = false
public const final val VAL4: kotlin.Boolean = true
public const final val VAL5: kotlin.Boolean = false
public const final val VAL6: kotlin.Boolean = true
public const final val VAL7: kotlin.Boolean = false
public const final val VAL8: kotlin.Boolean = true
public const final val VAL9: kotlin.Boolean = false
}
}
@@ -0,0 +1,38 @@
// FILE: a/x.java
package a;
public class x {
public static final int I = 42;
public class Inner {
public static final int I2 = I;
public class Inner2 {
public static final int I = x.I + I2;
public class Inner3 extends Inner {
public static final int CONST = I;
}
}
}
public static class Nested {
public static final int I2 = I;
public static class Nested2 {
public static final int I3 = I2;
public static final int I4 = 42;
public class Inner {
public static final int I5 = I4;
}
}
}
}
@@ -0,0 +1,76 @@
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 inner class Inner {
public constructor Inner()
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 Inner2 {
public constructor Inner2()
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 Inner3 : a.x.Inner {
public constructor Inner3()
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.Int = 84
public const final override /*1*/ /*fake_override*/ val I2: kotlin.Int = 42
}
// Static members
public const final val I: kotlin.Int = 84
}
// Static members
public const final val I2: kotlin.Int = 42
}
public open class Nested {
public constructor Nested()
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 Nested2 {
public constructor Nested2()
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 Inner {
public constructor Inner()
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 I5: kotlin.Int = 42
}
// Static members
public const final val I3: kotlin.Int = 42
public const final val I4: kotlin.Int = 42
}
// Static members
public const final val I2: kotlin.Int = 42
}
// Static members
public const final val I: kotlin.Int = 42
}
}
@@ -0,0 +1,23 @@
// FILE: a/x.java
package a;
public class x {
public static final int CONST = 42;
}
// FILE: a/y.java
package a;
public class y extends x {
public static final int O = CONST;
}
// FILE: a/z.java
package a;
public class z {
public static final int I = y.CONST;
public static final int O = y.O;
}
@@ -0,0 +1,36 @@
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
// Static members
public const final val CONST: kotlin.Int = 42
}
public open class y : a.x {
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 override /*1*/ /*fake_override*/ val CONST: kotlin.Int = 42
public const final val O: kotlin.Int = 42
}
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 I: kotlin.Int = 42
public const final val O: kotlin.Int = 42
}
}
@@ -0,0 +1,76 @@
// FILE: a/x.java
package a;
public class x {
public static final int I = 42;
}
// FILE: a/y.java
package a;
public class y extends x {
public static final int I = x.I * 2;
public class Inner {
public static final int Y = I;
}
public class Inner2 extends x {
public static final int Y = I;
}
}
// FILE: b/b.java
package b;
public class b {
public static final int I = 84;
}
// FILE: c/c.java
package c;
import static a.x.I;
import static b.b.*;
public class c extends a.x {
public static final int O = I;
public class Inner {
public static final int O = I;
}
}
// FILE: c/e.java
package c;
import static a.x.I;
public class e extends a.x {
public static final int O = I;
public class Inner {
public static final int O = I;
}
}
// FILE: c/d.java
package c;
import static b.b.*;
public class d extends a.x {
public static final int O = I;
public class Inner {
public static final int O = I;
}
}
@@ -0,0 +1,124 @@
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
// Static members
public const final val I: kotlin.Int = 42
}
public open class y : a.x {
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
public open inner class Inner {
public constructor Inner()
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 Y: kotlin.Int = 84
}
public open inner class Inner2 : a.x {
public constructor Inner2()
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 override /*1*/ /*fake_override*/ val I: kotlin.Int = 42
public const final val Y: kotlin.Int = 42
}
// Static members
public const final val I: kotlin.Int = 84
}
}
package b {
public open class b {
public constructor b()
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 = 84
}
}
package c {
public open class c : a.x {
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 open inner class Inner {
public constructor Inner()
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 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
}
public open class d : a.x {
public constructor d()
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 Inner {
public constructor Inner()
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 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
}
public open class e : a.x {
public constructor e()
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 Inner {
public constructor Inner()
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 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
}
}
@@ -0,0 +1,38 @@
// FILE: a/x.java
package a;
public class x {
public static final int I = 42;
}
// FILE: a/y.java
package a;
public interface y {
int I = 84;
}
// FILE: a/y2.java
package a;
public class y2 implements y {
public static final int I = 168;
}
// FILE: a/z.java
package a;
public class z extends x implements y {}
// FILE: a/z1.java
package a;
public class z1 extends y2 implements y {}
// FILE: a/a.java
package a;
public class a {
public static final int I = z.I;
public static final int I2 = z1.I;
}
@@ -0,0 +1,66 @@
package
package a {
public open class a {
public constructor a()
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
public const final val I2: kotlin.Int = 168
}
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
}
public interface 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 = 84
}
public open class y2 : a.y {
public constructor y2()
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 = 168
}
public open class z : a.x, a.y {
public constructor z()
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 = 42
public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 84
}
public open class z1 : a.y2, a.y {
public constructor z1()
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 = 168
public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 84
}
}
@@ -0,0 +1,28 @@
// FILE: a/x.java
package a;
public class x {
public static final int I = 42;
public static final int I1 = 42;
public static final int I2 = I + I1;
}
// FILE: b/y.java
package b;
import static a.x.I;
public class y {
public static final int O = I;
}
// FILE: b/z.java
package b;
import static a.x.*;
public class z {
public static final int CONST = I + I1 + I2;
}
@@ -0,0 +1,39 @@
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
// Static members
public const final val I: kotlin.Int = 42
public const final val I1: kotlin.Int = 42
public const final val I2: kotlin.Int = 84
}
}
package b {
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 O: kotlin.Int = 42
}
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.Int = 168
}
}
@@ -0,0 +1,33 @@
// FILE: a/x.java
package a;
public class x {
public static final int I = 42;
}
// FILE: a/y.java
package a;
public class y {
public static final int I = 42;
}
// FILE: b/t.java
package b;
import static a.x.I;
import static a.y.I;
public class t {
public static final int CONST = I;
}
// FILE: b/t1.java
package b;
import static a.x.I;
import static a.x.I;
public class t1 {
public static final int CONST = I;
}
@@ -0,0 +1,47 @@
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
// Static members
public const final val I: kotlin.Int = 42
}
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 t {
public constructor t()
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.Int
}
public open class t1 {
public constructor t1()
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.Int = 42
}
}