Change object resolution strategy in lazy resolve

This commit is contained in:
Alexander Udalov
2013-11-12 20:02:12 +04:00
parent ae116c6d9a
commit 26bd1ff189
16 changed files with 226 additions and 60 deletions
@@ -1,7 +1,5 @@
package test
test.A(a = 12.toInt(): jet.Int, c = "Hello": jet.String) internal val SomeObject: test.SomeObject
internal final annotation class A : jet.Annotation {
/*primary*/ public constructor A(/*0*/ a: jet.Int = ..., /*1*/ b: jet.String = ..., /*2*/ c: jet.String)
internal final val a: jet.Int
@@ -11,4 +9,8 @@ internal final annotation class A : jet.Annotation {
test.A(a = 12.toInt(): jet.Int, c = "Hello": jet.String) internal object SomeObject {
/*primary*/ private constructor SomeObject()
public class object <class-object-for-SomeObject> : test.SomeObject {
/*primary*/ private constructor <class-object-for-SomeObject>()
}
}
@@ -1,8 +1,11 @@
package test
[ERROR : Unresolved annotation type: BadAnnotation]() internal val SomeObject: test.SomeObject
internal val some: test.SomeObject
[ERROR : Unresolved annotation type: BadAnnotation]() internal object SomeObject {
/*primary*/ private constructor SomeObject()
public class object <class-object-for-SomeObject> : test.SomeObject {
/*primary*/ private constructor <class-object-for-SomeObject>()
}
}
@@ -1,6 +1,5 @@
package test
test.BadAnnotation(s = 1.toInt(): jet.Int) internal val SomeObject: test.SomeObject
internal val some: test.SomeObject
internal final annotation class BadAnnotation : jet.Annotation {
@@ -9,4 +8,8 @@ internal final annotation class BadAnnotation : jet.Annotation {
test.BadAnnotation(s = 1.toInt(): jet.Int) internal object SomeObject {
/*primary*/ private constructor SomeObject()
public class object <class-object-for-SomeObject> : test.SomeObject {
/*primary*/ private constructor <class-object-for-SomeObject>()
}
}
@@ -2,10 +2,14 @@ package test
internal final class A {
/*primary*/ public constructor A()
internal final val B: test.A.B
internal object B {
/*primary*/ private constructor B()
internal final fun foo(/*0*/ a: jet.Int): jet.String
public class object <class-object-for-B> : test.A.B {
/*primary*/ private constructor <class-object-for-B>()
internal final override /*1*/ /*fake_override*/ fun foo(/*0*/ a: jet.Int): jet.String
}
}
}
@@ -1,8 +1,11 @@
package test
internal val SomeObject: test.SomeObject
internal object SomeObject {
/*primary*/ private constructor SomeObject()
internal final fun test(/*0*/ a: jet.Int): jet.Int
public class object <class-object-for-SomeObject> : test.SomeObject {
/*primary*/ private constructor <class-object-for-SomeObject>()
internal final override /*1*/ /*fake_override*/ fun test(/*0*/ a: jet.Int): jet.Int
}
}
@@ -1,7 +1,9 @@
package test
internal val Bar: test.Bar
internal object Bar {
/*primary*/ private constructor Bar()
public class object <class-object-for-Bar> : test.Bar {
/*primary*/ private constructor <class-object-for-Bar>()
}
}
@@ -1,10 +1,15 @@
package test
public val Obj: test.Obj
public object Obj {
/*primary*/ private constructor Obj()
public final val v: jet.String
public final fun <get-v>(): jet.String
public final fun f(): jet.String
public class object <class-object-for-Obj> : test.Obj {
/*primary*/ private constructor <class-object-for-Obj>()
public final override /*1*/ /*fake_override*/ val v: jet.String
public final override /*1*/ /*fake_override*/ fun <get-v>(): jet.String
public final override /*1*/ /*fake_override*/ fun f(): jet.String
}
}
@@ -2,12 +2,18 @@ package test
public final class Outer {
/*primary*/ public constructor Outer()
public final val Obj: test.Outer.Obj
public object Obj {
/*primary*/ private constructor Obj()
public final val v: jet.String
public final fun <get-v>(): jet.String
public final fun f(): jet.String
public class object <class-object-for-Obj> : test.Outer.Obj {
/*primary*/ private constructor <class-object-for-Obj>()
public final override /*1*/ /*fake_override*/ val v: jet.String
public final override /*1*/ /*fake_override*/ fun <get-v>(): jet.String
public final override /*1*/ /*fake_override*/ fun f(): jet.String
}
}
}
@@ -5,13 +5,19 @@ public final class Outer {
public class object <class-object-for-Outer> {
/*primary*/ private constructor <class-object-for-Outer>()
public final val Obj: test.Outer.Obj
public object Obj {
/*primary*/ private constructor Obj()
public final val v: jet.String
public final fun <get-v>(): jet.String
public final fun f(): jet.String
public class object <class-object-for-Obj> : test.Outer.Obj {
/*primary*/ private constructor <class-object-for-Obj>()
public final override /*1*/ /*fake_override*/ val v: jet.String
public final override /*1*/ /*fake_override*/ fun <get-v>(): jet.String
public final override /*1*/ /*fake_override*/ fun f(): jet.String
}
}
}
}
@@ -1,15 +1,23 @@
package test
public val Outer: test.Outer
public object Outer {
/*primary*/ private constructor Outer()
public final val Obj: test.Outer.Obj
public class object <class-object-for-Outer> : test.Outer {
/*primary*/ private constructor <class-object-for-Outer>()
}
public object Obj {
/*primary*/ private constructor Obj()
public final val v: jet.String
public final fun <get-v>(): jet.String
public final fun f(): jet.String
public class object <class-object-for-Obj> : test.Outer.Obj {
/*primary*/ private constructor <class-object-for-Obj>()
public final override /*1*/ /*fake_override*/ val v: jet.String
public final override /*1*/ /*fake_override*/ fun <get-v>(): jet.String
public final override /*1*/ /*fake_override*/ fun f(): jet.String
}
}
}
@@ -1,6 +1,5 @@
package test
public val Obj: test.Obj
internal val x: jet.Int
internal fun <get-x>(): jet.Int
@@ -9,4 +8,11 @@ public object Obj {
public final val v: jet.String
public final fun <get-v>(): jet.String
public final fun f(): jet.String
public class object <class-object-for-Obj> : test.Obj {
/*primary*/ private constructor <class-object-for-Obj>()
public final override /*1*/ /*fake_override*/ val v: jet.String
public final override /*1*/ /*fake_override*/ fun <get-v>(): jet.String
public final override /*1*/ /*fake_override*/ fun f(): jet.String
}
}