Fix JavaClassifierType.getTypeArguments impls

Make them return arguments both for current classifier and for the outer one
This commit is contained in:
Denis Zharkov
2015-11-03 18:17:28 +03:00
parent 910718ff45
commit c5103f9ac4
11 changed files with 102 additions and 9 deletions
@@ -45,7 +45,9 @@ public class ReflectJavaClassifierType(public override val type: Type) : Reflect
override fun isRaw(): Boolean = with(type) { this is Class<*> && getTypeParameters().isNotEmpty() }
override fun getTypeArguments(): List<JavaType> {
return (type as? ParameterizedType)?.getActualTypeArguments()?.map { ReflectJavaType.create(it) } ?: listOf()
return sequence({type as? ParameterizedType}, { it.ownerType as? ParameterizedType }).flatMap {
it.actualTypeArguments.asSequence().map { ReflectJavaType.create(it) }
}.toList()
}
override fun getAnnotations(): Collection<JavaAnnotation> {