[K/N] Delete unused methods in ObjCInterop.kt
This commit is contained in:
committed by
teamcity
parent
e3b5dc509c
commit
157ab48fde
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.native.interop.ObjCMethodInfo
|
||||
import org.jetbrains.kotlin.resolve.ExternalOverridabilityCondition
|
||||
import org.jetbrains.kotlin.resolve.annotations.getAnnotationStringValue
|
||||
import org.jetbrains.kotlin.resolve.annotations.getArgumentValueOrNull
|
||||
import org.jetbrains.kotlin.resolve.constants.BooleanValue
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.getAllSuperClassifiers
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.parentsWithSelf
|
||||
@@ -89,22 +88,12 @@ fun IrClass.isObjCProtocolClass(): Boolean = hasEqualFqName(objCProtocolFqName)
|
||||
fun ClassDescriptor.isObjCProtocolClass(): Boolean =
|
||||
this.fqNameSafe == objCProtocolFqName
|
||||
|
||||
fun FunctionDescriptor.isObjCClassMethod() =
|
||||
this.containingDeclaration.let { it is ClassDescriptor && it.isObjCClass() }
|
||||
|
||||
fun IrFunction.isObjCClassMethod() =
|
||||
this.parent.let { it is IrClass && it.isObjCClass() }
|
||||
|
||||
fun FunctionDescriptor.isExternalObjCClassMethod() =
|
||||
this.containingDeclaration.let { it is ClassDescriptor && it.isExternalObjCClass() }
|
||||
|
||||
fun IrFunction.isExternalObjCClassMethod() =
|
||||
this.parent.let {it is IrClass && it.isExternalObjCClass()}
|
||||
|
||||
// Special case: methods from Kotlin Objective-C classes can be called virtually from bridges.
|
||||
fun FunctionDescriptor.canObjCClassMethodBeCalledVirtually(overriddenDescriptor: FunctionDescriptor) =
|
||||
overriddenDescriptor.isOverridable && this.kind.isReal && !this.isExternalObjCClassMethod()
|
||||
|
||||
fun IrFunction.canObjCClassMethodBeCalledVirtually(overridden: IrFunction) =
|
||||
overridden.isOverridable && !this.isFakeOverride && !this.isExternalObjCClassMethod()
|
||||
|
||||
@@ -143,13 +132,6 @@ private fun IrFunction.decodeObjCMethodAnnotation(): ObjCMethodInfo? {
|
||||
return methodInfo
|
||||
}
|
||||
|
||||
private fun objCMethodInfo(annotation: AnnotationDescriptor) = ObjCMethodInfo(
|
||||
selector = annotation.getStringValue("selector"),
|
||||
encoding = annotation.getStringValue("encoding"),
|
||||
isStret = annotation.getArgumentValueOrNull<Boolean>("isStret") ?: false,
|
||||
directSymbol = null,
|
||||
)
|
||||
|
||||
private fun objCMethodInfo(annotation: IrConstructorCall) = ObjCMethodInfo(
|
||||
selector = annotation.getAnnotationStringValue("selector"),
|
||||
encoding = annotation.getAnnotationStringValue("encoding"),
|
||||
@@ -274,13 +256,6 @@ fun IrConstructor.objCConstructorIsDesignated(): Boolean =
|
||||
this.getAnnotationArgumentValue<Boolean>(objCConstructorFqName, "designated")
|
||||
?: error("Could not find 'designated' argument")
|
||||
|
||||
fun ConstructorDescriptor.objCConstructorIsDesignated(): Boolean {
|
||||
val annotation = this.annotations.findAnnotation(objCConstructorFqName)!!
|
||||
val value = annotation.allValueArguments[Name.identifier("designated")]!!
|
||||
|
||||
return (value as BooleanValue).value
|
||||
}
|
||||
|
||||
|
||||
val IrConstructor.isObjCConstructor get() = this.annotations.hasAnnotation(objCConstructorFqName)
|
||||
val ConstructorDescriptor.isObjCConstructor get() = this.annotations.hasAnnotation(objCConstructorFqName)
|
||||
@@ -318,17 +293,6 @@ fun ConstructorDescriptor.getObjCInitMethod(): FunctionDescriptor? {
|
||||
}
|
||||
}
|
||||
|
||||
val IrFunction.hasObjCFactoryAnnotation get() = this.annotations.hasAnnotation(objCFactoryFqName)
|
||||
val FunctionDescriptor.hasObjCFactoryAnnotation get() = this.annotations.hasAnnotation(objCFactoryFqName)
|
||||
|
||||
val IrFunction.hasObjCMethodAnnotation get() = this.annotations.hasAnnotation(objCMethodFqName)
|
||||
val FunctionDescriptor.hasObjCMethodAnnotation get() = this.annotations.hasAnnotation(objCMethodFqName)
|
||||
|
||||
fun FunctionDescriptor.getObjCFactoryInitMethodInfo(): ObjCMethodInfo? {
|
||||
val factoryAnnotation = this.annotations.findAnnotation(objCFactoryFqName) ?: return null
|
||||
return objCMethodInfo(factoryAnnotation)
|
||||
}
|
||||
|
||||
fun IrFunction.getObjCFactoryInitMethodInfo(): ObjCMethodInfo? {
|
||||
val factoryAnnotation = this.annotations.findAnnotation(objCFactoryFqName) ?: return null
|
||||
return objCMethodInfo(factoryAnnotation)
|
||||
|
||||
Reference in New Issue
Block a user