isInlineOnly renamed to isInlineOnlyOrReified
This commit is contained in:
@@ -329,7 +329,7 @@ public class AsmUtil {
|
||||
DeclarationDescriptor containingDeclaration = memberDescriptor.getContainingDeclaration();
|
||||
Visibility memberVisibility = memberDescriptor.getVisibility();
|
||||
|
||||
if (AnnotationUtilKt.isInlineOnly(memberDescriptor)) return ACC_PRIVATE;
|
||||
if (AnnotationUtilKt.isInlineOnlyOrReified(memberDescriptor)) return ACC_PRIVATE;
|
||||
|
||||
if (memberVisibility == Visibilities.LOCAL && memberDescriptor instanceof CallableMemberDescriptor) {
|
||||
return ACC_PUBLIC;
|
||||
|
||||
@@ -610,7 +610,7 @@ public abstract class CodegenContext<T extends DeclarationDescriptor> {
|
||||
boolean withinInline,
|
||||
boolean isSuperCall
|
||||
) {
|
||||
if (AnnotationUtilKt.isInlineOnly(unwrappedDescriptor)) return false;
|
||||
if (AnnotationUtilKt.isInlineOnlyOrReified(unwrappedDescriptor)) return false;
|
||||
|
||||
return isSuperCall && withinInline ||
|
||||
(accessFlag & ACC_PRIVATE) != 0 ||
|
||||
|
||||
@@ -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