Mix class object scope to member resolution scope in lazy resolve

This commit is contained in:
Nikolay Krasko
2013-06-04 14:56:48 +04:00
parent 37cd7eb1ba
commit 994107ee0a
12 changed files with 230 additions and 16 deletions
@@ -0,0 +1,44 @@
package test
class ConstructorTypeParamClassObjectTypeConflict<test> {
class object {
trait test
}
val some: test? = null
}
class ConstructorTypeParamClassObjectConflict<test> {
class object {
val test = 12
}
val some = test
}
class TestConstructorParamClassObjectConflict(test: String) {
class object {
val test = 12
}
val some = test
}
class TestConstructorValClassObjectConflict(val test: String) {
class object {
val test = 12
}
val some = test
}
class TestClassObjectAndClassConflict {
class object {
val bla = 12
}
val bla = "More"
val some = bla
}
@@ -0,0 +1,66 @@
package test
internal final class ConstructorTypeParamClassObjectConflict</*0*/ test> {
/*primary*/ public constructor ConstructorTypeParamClassObjectConflict</*0*/ test>()
internal final val some: jet.Int
internal final fun <get-some>(): jet.Int
internal class object <class-object-for-ConstructorTypeParamClassObjectConflict> {
/*primary*/ private constructor <class-object-for-ConstructorTypeParamClassObjectConflict>()
internal final val test: jet.Int
internal final fun <get-test>(): jet.Int
}
}
internal final class ConstructorTypeParamClassObjectTypeConflict</*0*/ test> {
/*primary*/ public constructor ConstructorTypeParamClassObjectTypeConflict</*0*/ test>()
internal final val some: test?
internal final fun <get-some>(): test?
internal class object <class-object-for-ConstructorTypeParamClassObjectTypeConflict> {
/*primary*/ private constructor <class-object-for-ConstructorTypeParamClassObjectTypeConflict>()
internal trait test {
}
}
}
internal final class TestClassObjectAndClassConflict {
/*primary*/ public constructor TestClassObjectAndClassConflict()
internal final val bla: jet.String
internal final fun <get-bla>(): jet.String
internal final val some: jet.String
internal final fun <get-some>(): jet.String
internal class object <class-object-for-TestClassObjectAndClassConflict> {
/*primary*/ private constructor <class-object-for-TestClassObjectAndClassConflict>()
internal final val bla: jet.Int
internal final fun <get-bla>(): jet.Int
}
}
internal final class TestConstructorParamClassObjectConflict {
/*primary*/ public constructor TestConstructorParamClassObjectConflict(/*0*/ test: jet.String)
internal final val some: jet.String
internal final fun <get-some>(): jet.String
internal class object <class-object-for-TestConstructorParamClassObjectConflict> {
/*primary*/ private constructor <class-object-for-TestConstructorParamClassObjectConflict>()
internal final val test: jet.Int
internal final fun <get-test>(): jet.Int
}
}
internal final class TestConstructorValClassObjectConflict {
/*primary*/ public constructor TestConstructorValClassObjectConflict(/*0*/ test: jet.String)
internal final val some: jet.String
internal final fun <get-some>(): jet.String
internal final val test: jet.String
internal final fun <get-test>(): jet.String
internal class object <class-object-for-TestConstructorValClassObjectConflict> {
/*primary*/ private constructor <class-object-for-TestConstructorValClassObjectConflict>()
internal final val test: jet.Int
internal final fun <get-test>(): jet.Int
}
}
@@ -0,0 +1,9 @@
package test
class A {
class object {
val some = 1
}
val other = some
}
@@ -0,0 +1,13 @@
package test
internal final class A {
/*primary*/ public constructor A()
internal final val other: jet.Int
internal final fun <get-other>(): jet.Int
internal class object <class-object-for-A> {
/*primary*/ private constructor <class-object-for-A>()
internal final val some: jet.Int
internal final fun <get-some>(): jet.Int
}
}