Don't fail on unsupported default values of java annotations

This commit is contained in:
Dmitriy Novozhilov
2021-03-04 15:09:12 +03:00
parent 745aa620d0
commit 1f6ce874a1
2 changed files with 6 additions and 2 deletions
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
abstract class JavaAnnotationArgumentImpl(
sealed class JavaAnnotationArgumentImpl(
override val name: Name?
) : JavaAnnotationArgument {
companion object Factory {
@@ -44,7 +44,7 @@ abstract class JavaAnnotationArgumentImpl(
is PsiReferenceExpression -> JavaEnumValueAnnotationArgumentImpl(argument, name)
is PsiArrayInitializerMemberValue -> JavaArrayAnnotationArgumentImpl(argument, name)
is PsiAnnotation -> JavaAnnotationAsAnnotationArgumentImpl(argument, name)
else -> throw UnsupportedOperationException("Unsupported annotation argument type: $argument")
else -> JavaUnknownAnnotationArgumentImpl(name)
}
}
}
@@ -95,3 +95,5 @@ class JavaAnnotationAsAnnotationArgumentImpl(
) : JavaAnnotationArgumentImpl(name), JavaAnnotationAsAnnotationArgument {
override fun getAnnotation() = JavaAnnotationImpl(psiAnnotation)
}
class JavaUnknownAnnotationArgumentImpl(name: Name?) : JavaAnnotationArgumentImpl(name), JavaUnknownAnnotationArgument
@@ -43,3 +43,5 @@ interface JavaClassObjectAnnotationArgument : JavaAnnotationArgument {
interface JavaAnnotationAsAnnotationArgument : JavaAnnotationArgument {
fun getAnnotation(): JavaAnnotation
}
interface JavaUnknownAnnotationArgument : JavaAnnotationArgument