Don't fail on unsupported default values of java annotations
This commit is contained in:
+4
-2
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.name.ClassId
|
|||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
|
||||||
abstract class JavaAnnotationArgumentImpl(
|
sealed class JavaAnnotationArgumentImpl(
|
||||||
override val name: Name?
|
override val name: Name?
|
||||||
) : JavaAnnotationArgument {
|
) : JavaAnnotationArgument {
|
||||||
companion object Factory {
|
companion object Factory {
|
||||||
@@ -44,7 +44,7 @@ abstract class JavaAnnotationArgumentImpl(
|
|||||||
is PsiReferenceExpression -> JavaEnumValueAnnotationArgumentImpl(argument, name)
|
is PsiReferenceExpression -> JavaEnumValueAnnotationArgumentImpl(argument, name)
|
||||||
is PsiArrayInitializerMemberValue -> JavaArrayAnnotationArgumentImpl(argument, name)
|
is PsiArrayInitializerMemberValue -> JavaArrayAnnotationArgumentImpl(argument, name)
|
||||||
is PsiAnnotation -> JavaAnnotationAsAnnotationArgumentImpl(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 {
|
) : JavaAnnotationArgumentImpl(name), JavaAnnotationAsAnnotationArgument {
|
||||||
override fun getAnnotation() = JavaAnnotationImpl(psiAnnotation)
|
override fun getAnnotation() = JavaAnnotationImpl(psiAnnotation)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class JavaUnknownAnnotationArgumentImpl(name: Name?) : JavaAnnotationArgumentImpl(name), JavaUnknownAnnotationArgument
|
||||||
|
|||||||
+2
@@ -43,3 +43,5 @@ interface JavaClassObjectAnnotationArgument : JavaAnnotationArgument {
|
|||||||
interface JavaAnnotationAsAnnotationArgument : JavaAnnotationArgument {
|
interface JavaAnnotationAsAnnotationArgument : JavaAnnotationArgument {
|
||||||
fun getAnnotation(): JavaAnnotation
|
fun getAnnotation(): JavaAnnotation
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface JavaUnknownAnnotationArgument : JavaAnnotationArgument
|
||||||
|
|||||||
Reference in New Issue
Block a user