Minor, move isInlineOnlyOrReified to module descriptors
This commit is contained in:
@@ -17,14 +17,11 @@
|
||||
package org.jetbrains.kotlin.resolve.annotations
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.MemberDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
import org.jetbrains.kotlin.resolve.constants.ConstantValue
|
||||
import org.jetbrains.kotlin.resolve.constants.ErrorValue
|
||||
import org.jetbrains.kotlin.resolve.inline.InlineUtil
|
||||
|
||||
private val JVM_STATIC_ANNOTATION_FQ_NAME = FqName("kotlin.jvm.JvmStatic")
|
||||
|
||||
@@ -54,17 +51,3 @@ fun AnnotationDescriptor.argumentValue(parameterName: String): Any? {
|
||||
|
||||
return constant.value
|
||||
}
|
||||
|
||||
private val INLINE_ONLY_ANNOTATION_FQ_NAME = FqName("kotlin.internal.InlineOnly")
|
||||
|
||||
fun MemberDescriptor.isInlineOnlyOrReified(): Boolean {
|
||||
if (this !is FunctionDescriptor) return false
|
||||
return typeParameters.any { it.isReified } || hasInlineOnlyAnnotation()
|
||||
}
|
||||
|
||||
fun MemberDescriptor.hasInlineOnlyAnnotation(): Boolean {
|
||||
if (this !is FunctionDescriptor) return false
|
||||
return annotations.hasAnnotation(INLINE_ONLY_ANNOTATION_FQ_NAME) && InlineUtil.isInline(this).apply {
|
||||
assert(this) { "Function is not inline: ${this@hasInlineOnlyAnnotation}"; }
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -17,13 +17,13 @@
|
||||
package org.jetbrains.kotlin.resolve.inline
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.descriptors.annotations.isInlineOnlyOrReified
|
||||
import org.jetbrains.kotlin.diagnostics.Errors
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.resolve.AnalyzerExtensions
|
||||
import org.jetbrains.kotlin.resolve.BindingContext
|
||||
import org.jetbrains.kotlin.resolve.BindingTrace
|
||||
import org.jetbrains.kotlin.resolve.annotations.isInlineOnlyOrReified
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.hasDefaultValue
|
||||
|
||||
object InlineAnalyzerExtension : AnalyzerExtensions.AnalyzerExtension {
|
||||
|
||||
Reference in New Issue
Block a user