[FIR] Move JavaClass.hasMetadataAnnotation to JavaUtils

- This function will be reused in a later commit.
This commit is contained in:
Marco Pennekamp
2023-03-08 18:40:25 +01:00
committed by Space Team
parent 288606868e
commit b33c5f77ac
2 changed files with 4 additions and 4 deletions
@@ -37,7 +37,6 @@ import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
import org.jetbrains.kotlin.fir.visitors.FirVisitorVoid
import org.jetbrains.kotlin.load.java.JavaClassFinder
import org.jetbrains.kotlin.load.java.JvmAnnotationNames
import org.jetbrains.kotlin.load.java.structure.*
import org.jetbrains.kotlin.load.java.structure.impl.JavaElementImpl
import org.jetbrains.kotlin.name.*
@@ -134,9 +133,6 @@ abstract class FirJavaFacade(
return map { it.toFirTypeParameter(stack, containingDeclarationSymbol, moduleData) }
}
private fun JavaClass.hasMetadataAnnotation(): Boolean =
annotations.any { it.classId?.asSingleFqName() == JvmAnnotationNames.METADATA_FQ_NAME }
private class ValueParametersForAnnotationConstructor {
val valueParameters: MutableMap<JavaMethod, FirJavaValueParameter> = linkedMapOf()
var valueParameterForValue: Pair<JavaMethod, FirJavaValueParameter>? = null
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.fir.expressions.builder.buildErrorExpression
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.expectedConeType
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
import org.jetbrains.kotlin.fir.types.createArrayType
import org.jetbrains.kotlin.load.java.JvmAnnotationNames
import org.jetbrains.kotlin.load.java.RXJAVA3_ANNOTATIONS
import org.jetbrains.kotlin.load.java.structure.JavaAnnotation
import org.jetbrains.kotlin.load.java.structure.JavaClass
@@ -51,6 +52,9 @@ val JavaClass.classKind: ClassKind
else -> ClassKind.CLASS
}
internal fun JavaClass.hasMetadataAnnotation(): Boolean =
annotations.any { it.classId?.asSingleFqName() == JvmAnnotationNames.METADATA_FQ_NAME }
internal fun Any?.createConstantOrError(session: FirSession): FirExpression {
return createConstantIfAny(session) ?: buildErrorExpression {
diagnostic = ConeSimpleDiagnostic("Unknown value in JavaLiteralAnnotationArgument: $this", DiagnosticKind.Java)