Cleanup JavaElement model from methods used only in substitutor
Downcast everything used in JavaTypeSubstitutorImpl to *Impl, remove methods from interfaces, inline/move some of them
This commit is contained in:
-2
@@ -81,8 +81,6 @@ class ReflectJavaClass(
|
||||
.map(::ReflectJavaConstructor)
|
||||
.toList()
|
||||
|
||||
override fun getDefaultType(): ReflectJavaClassifierType = throw UnsupportedOperationException()
|
||||
|
||||
// TODO: drop OriginKind
|
||||
override fun getOriginKind() = JavaClass.OriginKind.COMPILED
|
||||
|
||||
|
||||
-2
@@ -39,8 +39,6 @@ class ReflectJavaClassifierType(public override val type: Type) : ReflectJavaTyp
|
||||
|
||||
override fun getClassifier(): JavaClassifier = classifier
|
||||
|
||||
override fun getSupertypes(): Collection<JavaClassifierType> = throw UnsupportedOperationException()
|
||||
|
||||
override fun getPresentableText(): String = type.toString()
|
||||
|
||||
override fun isRaw(): Boolean = with(type) { this is Class<*> && getTypeParameters().isNotEmpty() }
|
||||
|
||||
-3
@@ -16,7 +16,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.load.java.structure.reflect
|
||||
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaArrayType
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaType
|
||||
import java.lang.reflect.GenericArrayType
|
||||
import java.lang.reflect.Type
|
||||
@@ -25,8 +24,6 @@ import java.lang.reflect.WildcardType
|
||||
abstract class ReflectJavaType : JavaType {
|
||||
protected abstract val type: Type
|
||||
|
||||
override fun createArrayType(): JavaArrayType = throw UnsupportedOperationException()
|
||||
|
||||
companion object Factory {
|
||||
fun create(type: Type): ReflectJavaType {
|
||||
return when {
|
||||
|
||||
+1
-17
@@ -16,11 +16,9 @@
|
||||
|
||||
package org.jetbrains.kotlin.load.java.structure.reflect
|
||||
|
||||
import org.jetbrains.kotlin.load.java.structure.*
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaTypeParameter
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import java.lang.reflect.AnnotatedElement
|
||||
import java.lang.reflect.Constructor
|
||||
import java.lang.reflect.Method
|
||||
import java.lang.reflect.TypeVariable
|
||||
|
||||
class ReflectJavaTypeParameter(
|
||||
@@ -36,20 +34,6 @@ class ReflectJavaTypeParameter(
|
||||
// TypeVariable is AnnotatedElement only in JDK8
|
||||
get() = typeVariable as? AnnotatedElement
|
||||
|
||||
override fun getOwner(): JavaTypeParameterListOwner? {
|
||||
val owner = typeVariable.genericDeclaration
|
||||
return when (owner) {
|
||||
is Class<*> -> ReflectJavaClass(owner)
|
||||
is Method -> ReflectJavaMethod(owner)
|
||||
is Constructor<*> -> ReflectJavaConstructor(owner)
|
||||
else -> throw UnsupportedOperationException("Unsupported type parameter list owner (${owner.javaClass}): $owner")
|
||||
}
|
||||
}
|
||||
|
||||
override fun getType(): JavaType = throw UnsupportedOperationException()
|
||||
|
||||
override fun getTypeProvider(): JavaTypeProvider = throw UnsupportedOperationException()
|
||||
|
||||
override fun getName() = Name.identifier(typeVariable.name)
|
||||
|
||||
override fun equals(other: Any?) = other is ReflectJavaTypeParameter && typeVariable == other.typeVariable
|
||||
|
||||
-3
@@ -16,7 +16,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.load.java.structure.reflect
|
||||
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaTypeProvider
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaWildcardType
|
||||
import java.lang.reflect.WildcardType
|
||||
|
||||
@@ -35,6 +34,4 @@ class ReflectJavaWildcardType(override val type: WildcardType): ReflectJavaType(
|
||||
}
|
||||
|
||||
override fun isExtends() = type.upperBounds.firstOrNull() != Any::class.java
|
||||
|
||||
override fun getTypeProvider(): JavaTypeProvider = throw UnsupportedOperationException()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user