Eager resolve does not record class object bounds (which are unsupported anyways)

This commit is contained in:
Andrey Breslav
2014-03-06 15:29:21 +04:00
parent 9964ecc883
commit f7c5dc179c
6 changed files with 17 additions and 32 deletions
+5 -5
View File
@@ -14,12 +14,12 @@ import java.util.*
val children = ArrayList<Element>()
val attributes = HashMap<String, String>()
protected fun initTag<T : Element>(init : T.() -> Unit) : T
protected fun initTag<T : Element>(<warning>init</warning> : T.() -> Unit) : T
where <error>class object T : Factory<T></error>{
val tag = T.create()
tag.init()
children.add(tag)
return tag
val tag = <error>T</error>.<error>create</error>()
<error>tag</error>.<error>init</error>()
children.add(<error>tag</error>)
return <error>tag</error>
}
}
+5 -5
View File
@@ -24,8 +24,8 @@ class Test1<T : A>()
{
fun test(t : T) {
T.foo()
T.bar()
<error>T</error>.<error>foo</error>()
<error>T</error>.<error>bar</error>()
t.foo()
t.bar()
}
@@ -54,8 +54,8 @@ fun <T : A> test2(t : T)
<error>class object T : B</error>,
<error>class object T : A</error>
{
T.foo()
T.bar()
<error>T</error>.<error>foo</error>()
<error>T</error>.<error>bar</error>()
t.foo()
t.bar()
}
@@ -64,7 +64,7 @@ val t1 = test2<<error>A</error>>(A())
val t2 = test2<<error>B</error>>(C())
val t3 = test2<C>(C())
class Test<<error>T</error>>
class Test<T>
where
<error>class object T : <error>Foo</error></error>,
<error>class object T : A</error> {}