kotlin-objective-c cross resolve: introduce createNamer() function
This commit is contained in:
committed by
SvyatoslavScherbina
parent
e6b66bb6c5
commit
0d8e176050
+10
-4
@@ -12,10 +12,7 @@ import org.jetbrains.kotlin.descriptors.*
|
|||||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
|
import org.jetbrains.kotlin.resolve.descriptorUtil.*
|
||||||
import org.jetbrains.kotlin.resolve.descriptorUtil.isSubclassOf
|
|
||||||
import org.jetbrains.kotlin.resolve.descriptorUtil.module
|
|
||||||
import org.jetbrains.kotlin.resolve.descriptorUtil.parentsWithSelf
|
|
||||||
|
|
||||||
interface ObjCExportNamer {
|
interface ObjCExportNamer {
|
||||||
fun getPackageName(fqName: FqName): String
|
fun getPackageName(fqName: FqName): String
|
||||||
@@ -27,6 +24,15 @@ interface ObjCExportNamer {
|
|||||||
fun getEnumEntrySelector(descriptor: ClassDescriptor): String
|
fun getEnumEntrySelector(descriptor: ClassDescriptor): String
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun createNamer(moduleDescriptor: ModuleDescriptor,
|
||||||
|
topLevelNamePrefix: String = moduleDescriptor.namePrefix): ObjCExportNamer {
|
||||||
|
val generator = object : ObjCExportHeaderGenerator(moduleDescriptor, moduleDescriptor.builtIns, topLevelNamePrefix) {
|
||||||
|
override fun reportWarning(text: String) {}
|
||||||
|
override fun reportWarning(method: FunctionDescriptor, text: String) {}
|
||||||
|
}
|
||||||
|
return generator.namer
|
||||||
|
}
|
||||||
|
|
||||||
internal class ObjCExportNamerImpl(
|
internal class ObjCExportNamerImpl(
|
||||||
val moduleDescriptor: ModuleDescriptor,
|
val moduleDescriptor: ModuleDescriptor,
|
||||||
builtIns: KotlinBuiltIns,
|
builtIns: KotlinBuiltIns,
|
||||||
|
|||||||
Reference in New Issue
Block a user