Introduce 'reified' instead of 'erased'

This commit is contained in:
Andrey Breslav
2012-06-05 20:05:35 +04:00
parent 0ceee0a383
commit 91606a3901
98 changed files with 158 additions and 157 deletions
@@ -1,4 +1,4 @@
package test
class ClassWithTypeParameter<erased P>() : java.lang.Object() {
class ClassWithTypeParameter<P>() : java.lang.Object() {
}
@@ -1,4 +1,4 @@
package test
abstract class ClassTypeTypePRefSuper<erased P>() : java.lang.Iterable<P> {
abstract class ClassTypeTypePRefSuper<P>() : java.lang.Iterable<P> {
}
@@ -1,4 +1,4 @@
package test
class ClassWithTypeParameter<erased P, erased Q : P>() : java.lang.Object() {
class ClassWithTypeParameter<P, Q : P>() : java.lang.Object() {
}
@@ -1,5 +1,5 @@
package test
trait Foo<erased Q> : java.lang.Object
trait Foo<Q> : java.lang.Object
open class ClassWithTypePRefNext<erased R : Foo<P>?, erased P>() : java.lang.Object()
open class ClassWithTypePRefNext<R : Foo<P>?, P>() : java.lang.Object()
@@ -1,4 +1,4 @@
package test
class ClassWithTypePRefSelf<erased P : java.lang.Enum<P>?>() : java.lang.Object() {
class ClassWithTypePRefSelf<P : java.lang.Enum<P>?>() : java.lang.Object() {
}
@@ -1,5 +1,5 @@
package test
open class Outer<erased P>() : java.lang.Object() {
open class Inner<erased Q : P>() : java.lang.Object()
open class Outer<P>() : java.lang.Object() {
open class Inner<Q : P>() : java.lang.Object()
}
@@ -1,8 +1,8 @@
package test
trait Trait<erased P> : java.lang.Object
trait Trait<P> : java.lang.Object
open class Outer<erased P, erased Q>() : java.lang.Object() {
open class Outer<P, Q>() : java.lang.Object() {
open class Inner() : java.lang.Object() {
}
@@ -1,7 +1,7 @@
package test
class Outer<erased P>() : java.lang.Object() {
class Outer<P>() : java.lang.Object() {
class Inner() : java.lang.Object() {
fun f<erased Q : P>() {}
fun f<Q : P>() {}
}
}
@@ -3,5 +3,5 @@ package test
trait Foo : java.lang.Object
open class MethodTypePOneUpperBound() : java.lang.Object() {
open fun <erased T : Foo?> bar() = #()
open fun <T : Foo?> bar() = #()
}
@@ -4,7 +4,7 @@ trait Foo : java.lang.Object
trait Bar : java.lang.Object
open class MethodTypePTwoUpperBounds() : java.lang.Object() {
open fun <erased T> foo(): Unit
open fun <T> foo(): Unit
where T : Foo?, T : Bar?
{}
}
@@ -1,5 +1,5 @@
package test
class MethodWithTypeP() : java.lang.Object() {
fun <erased P> f() = #()
fun <P> f() = #()
}
@@ -1,5 +1,5 @@
package test
class MethodWithTypePP() : java.lang.Object() {
fun <erased P, erased Q : P> f() = #()
fun <P, Q : P> f() = #()
}
@@ -1,5 +1,5 @@
package test
open class MethodWithTypePRefClassP<erased P>() : java.lang.Object() {
fun <erased Q : P> f() = #()
open class MethodWithTypePRefClassP<P>() : java.lang.Object() {
fun <Q : P> f() = #()
}
@@ -1,5 +1,5 @@
package test
final class MethosWithPRefTP() : java.lang.Object() {
fun <erased P> f(p0: P?) = #()
fun <P> f(p0: P?) = #()
}
@@ -2,7 +2,7 @@ package test
import java.util.ArrayList
open class JavaBeanVarOfGenericType<erased P>() : java.lang.Object() {
open class JavaBeanVarOfGenericType<P>() : java.lang.Object() {
open fun getCharacters(): ArrayList<P>? = null
open fun setCharacters(p0: ArrayList<P>?) { }
//var characters: ArrayList<P>? = null