[FIR] Move JavaClass.hasMetadataAnnotation to JavaUtils
- This function will be reused in a later commit.
This commit is contained in:
committed by
Space Team
parent
288606868e
commit
b33c5f77ac
@@ -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.types.impl.ConeTypeParameterTypeImpl
|
||||||
import org.jetbrains.kotlin.fir.visitors.FirVisitorVoid
|
import org.jetbrains.kotlin.fir.visitors.FirVisitorVoid
|
||||||
import org.jetbrains.kotlin.load.java.JavaClassFinder
|
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.*
|
||||||
import org.jetbrains.kotlin.load.java.structure.impl.JavaElementImpl
|
import org.jetbrains.kotlin.load.java.structure.impl.JavaElementImpl
|
||||||
import org.jetbrains.kotlin.name.*
|
import org.jetbrains.kotlin.name.*
|
||||||
@@ -134,9 +133,6 @@ abstract class FirJavaFacade(
|
|||||||
return map { it.toFirTypeParameter(stack, containingDeclarationSymbol, moduleData) }
|
return map { it.toFirTypeParameter(stack, containingDeclarationSymbol, moduleData) }
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun JavaClass.hasMetadataAnnotation(): Boolean =
|
|
||||||
annotations.any { it.classId?.asSingleFqName() == JvmAnnotationNames.METADATA_FQ_NAME }
|
|
||||||
|
|
||||||
private class ValueParametersForAnnotationConstructor {
|
private class ValueParametersForAnnotationConstructor {
|
||||||
val valueParameters: MutableMap<JavaMethod, FirJavaValueParameter> = linkedMapOf()
|
val valueParameters: MutableMap<JavaMethod, FirJavaValueParameter> = linkedMapOf()
|
||||||
var valueParameterForValue: Pair<JavaMethod, FirJavaValueParameter>? = null
|
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.resolve.transformers.body.resolve.expectedConeType
|
||||||
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.createArrayType
|
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.RXJAVA3_ANNOTATIONS
|
||||||
import org.jetbrains.kotlin.load.java.structure.JavaAnnotation
|
import org.jetbrains.kotlin.load.java.structure.JavaAnnotation
|
||||||
import org.jetbrains.kotlin.load.java.structure.JavaClass
|
import org.jetbrains.kotlin.load.java.structure.JavaClass
|
||||||
@@ -51,6 +52,9 @@ val JavaClass.classKind: ClassKind
|
|||||||
else -> ClassKind.CLASS
|
else -> ClassKind.CLASS
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal fun JavaClass.hasMetadataAnnotation(): Boolean =
|
||||||
|
annotations.any { it.classId?.asSingleFqName() == JvmAnnotationNames.METADATA_FQ_NAME }
|
||||||
|
|
||||||
internal fun Any?.createConstantOrError(session: FirSession): FirExpression {
|
internal fun Any?.createConstantOrError(session: FirSession): FirExpression {
|
||||||
return createConstantIfAny(session) ?: buildErrorExpression {
|
return createConstantIfAny(session) ?: buildErrorExpression {
|
||||||
diagnostic = ConeSimpleDiagnostic("Unknown value in JavaLiteralAnnotationArgument: $this", DiagnosticKind.Java)
|
diagnostic = ConeSimpleDiagnostic("Unknown value in JavaLiteralAnnotationArgument: $this", DiagnosticKind.Java)
|
||||||
|
|||||||
Reference in New Issue
Block a user