Minor cleanup in Java model: fix warnings, remove unused

This commit is contained in:
Alexander Udalov
2016-03-17 20:39:12 +03:00
parent 0a54464420
commit 0d74fc2290
10 changed files with 23 additions and 63 deletions
@@ -19,19 +19,12 @@ package org.jetbrains.kotlin.load.java.structure.reflect
import org.jetbrains.kotlin.load.java.structure.JavaAnnotation
import org.jetbrains.kotlin.load.java.structure.JavaAnnotationArgument
import org.jetbrains.kotlin.name.Name
import java.lang.reflect.Method
class ReflectJavaAnnotation(val annotation: Annotation) : ReflectJavaElement(), JavaAnnotation {
override fun findArgument(name: Name): JavaAnnotationArgument? {
return getArgumentValue(annotation.annotationClass.java.getDeclaredMethod(name.asString()))
}
override fun getArguments(): Collection<JavaAnnotationArgument> {
return annotation.annotationClass.java.declaredMethods.map { getArgumentValue(it) }
}
private fun getArgumentValue(argument: Method): ReflectJavaAnnotationArgument {
return argument.invoke(annotation).let { ReflectJavaAnnotationArgument.create(it, Name.identifier(argument.name)) }
return annotation.annotationClass.java.declaredMethods.map { method ->
ReflectJavaAnnotationArgument.create(method.invoke(annotation), Name.identifier(method.name))
}
}
override fun resolve() = ReflectJavaClass(annotation.annotationClass.java)
@@ -17,6 +17,7 @@
package org.jetbrains.kotlin.load.java.structure.reflect
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.load.java.JavaVisibilities
import org.jetbrains.kotlin.load.java.structure.JavaModifierListOwner
import java.lang.reflect.Modifier
@@ -28,7 +29,7 @@ interface ReflectJavaModifierListOwner : JavaModifierListOwner {
override fun isStatic() = Modifier.isStatic(modifiers)
override fun isFinal() = Modifier.isFinal(modifiers)
override fun getVisibility() = modifiers.let { modifiers ->
override fun getVisibility(): Visibility = modifiers.let { modifiers ->
when {
Modifier.isPublic(modifiers) -> Visibilities.PUBLIC
Modifier.isPrivate(modifiers) -> Visibilities.PRIVATE