isInlineOnly renamed to isInlineOnlyOrReified
This commit is contained in:
@@ -68,10 +68,14 @@ fun AnnotationDescriptor.argumentValue(parameterName: String): Any? {
|
||||
|
||||
private val INLINE_ONLY_ANNOTATION_FQ_NAME = FqName("kotlin.internal.InlineOnly")
|
||||
|
||||
fun MemberDescriptor.isInlineOnly(): Boolean {
|
||||
fun MemberDescriptor.isInlineOnlyOrReified(): Boolean {
|
||||
if (this !is FunctionDescriptor) return false
|
||||
return typeParameters.any { it.isReified } ||
|
||||
annotations.hasAnnotation(INLINE_ONLY_ANNOTATION_FQ_NAME) && InlineUtil.isInline(this).apply {
|
||||
assert(this) { "Function is not inline: ${this@isInlineOnly}"; }
|
||||
}
|
||||
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
@@ -120,7 +120,7 @@ public class InlineAnalyzerExtension implements FunctionAnalyzerExtension.Analyz
|
||||
|
||||
hasInlinable |= InlineUtil.containsReifiedTypeParameters(functionDescriptor);
|
||||
|
||||
if (!hasInlinable && !AnnotationUtilKt.isInlineOnly(functionDescriptor)) {
|
||||
if (!hasInlinable && !AnnotationUtilKt.isInlineOnlyOrReified(functionDescriptor)) {
|
||||
KtModifierList modifierList = function.getModifierList();
|
||||
PsiElement inlineModifier = modifierList == null ? null : modifierList.getModifier(KtTokens.INLINE_KEYWORD);
|
||||
PsiElement reportOn = inlineModifier == null ? function : inlineModifier;
|
||||
|
||||
Reference in New Issue
Block a user