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,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
}
}