Rename ObjC warning collector to problem collector
This commit is contained in:
committed by
Vasily Levchenko
parent
846d691b2d
commit
b6b7a0e1eb
+2
-2
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.backend.konan
|
||||
import org.jetbrains.kotlin.analyzer.ModuleInfo
|
||||
import org.jetbrains.kotlin.backend.konan.objcexport.ObjCExportLazy
|
||||
import org.jetbrains.kotlin.backend.konan.objcexport.ObjCExportLazyImpl
|
||||
import org.jetbrains.kotlin.backend.konan.objcexport.ObjCExportWarningCollector
|
||||
import org.jetbrains.kotlin.backend.konan.objcexport.ObjCExportProblemCollector
|
||||
import org.jetbrains.kotlin.backend.konan.objcexport.dumpObjCHeader
|
||||
import org.jetbrains.kotlin.container.*
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
@@ -19,7 +19,7 @@ internal fun StorageComponentContainer.initContainer(config: KonanConfig) {
|
||||
|
||||
if (config.configuration.get(KonanConfigKeys.EMIT_LAZY_OBJC_HEADER_FILE) != null) {
|
||||
this.useImpl<ObjCExportLazyImpl>()
|
||||
this.useInstance(ObjCExportWarningCollector.SILENT)
|
||||
this.useInstance(ObjCExportProblemCollector.SILENT)
|
||||
|
||||
useInstance(object : ObjCExportLazy.Configuration {
|
||||
override val frameworkName: String
|
||||
|
||||
+15
-15
@@ -37,12 +37,12 @@ interface ObjCExportTranslator {
|
||||
fun translateExtensions(classDescriptor: ClassDescriptor, declarations: List<CallableMemberDescriptor>): ObjCInterface
|
||||
}
|
||||
|
||||
interface ObjCExportWarningCollector {
|
||||
interface ObjCExportProblemCollector {
|
||||
fun reportWarning(text: String)
|
||||
fun reportWarning(method: FunctionDescriptor, text: String)
|
||||
fun reportException(throwable: Throwable)
|
||||
|
||||
object SILENT : ObjCExportWarningCollector {
|
||||
object SILENT : ObjCExportProblemCollector {
|
||||
override fun reportWarning(text: String) {}
|
||||
override fun reportWarning(method: FunctionDescriptor, text: String) {}
|
||||
override fun reportException(throwable: Throwable) {}
|
||||
@@ -53,7 +53,7 @@ internal class ObjCExportTranslatorImpl(
|
||||
private val generator: ObjCExportHeaderGenerator?,
|
||||
val mapper: ObjCExportMapper,
|
||||
val namer: ObjCExportNamer,
|
||||
val warningCollector: ObjCExportWarningCollector,
|
||||
val problemCollector: ObjCExportProblemCollector,
|
||||
val objcGenerics: Boolean
|
||||
) : ObjCExportTranslator {
|
||||
|
||||
@@ -810,7 +810,7 @@ internal class ObjCExportTranslatorImpl(
|
||||
val firstType = types[0]
|
||||
val secondType = types[1]
|
||||
|
||||
warningCollector.reportWarning(
|
||||
problemCollector.reportWarning(
|
||||
"Exposed type '$kotlinType' is '$firstType' and '$secondType' at the same time. " +
|
||||
"This most likely wouldn't work as expected.")
|
||||
|
||||
@@ -959,7 +959,7 @@ internal class ObjCExportTranslatorImpl(
|
||||
private inline fun buildTopLevel(block: StubBuilder<ObjCTopLevel<*>>.() -> Unit) = buildStubs(block)
|
||||
private inline fun buildMembers(block: StubBuilder<Stub<*>>.() -> Unit) = buildStubs(block)
|
||||
private inline fun <S : Stub<*>> buildStubs(block: StubBuilder<S>.() -> Unit): List<S> =
|
||||
StubBuilder<S>(warningCollector).apply(block).build()
|
||||
StubBuilder<S>(problemCollector).apply(block).build()
|
||||
}
|
||||
|
||||
abstract class ObjCExportHeaderGenerator internal constructor(
|
||||
@@ -967,44 +967,44 @@ abstract class ObjCExportHeaderGenerator internal constructor(
|
||||
internal val mapper: ObjCExportMapper,
|
||||
val namer: ObjCExportNamer,
|
||||
val objcGenerics: Boolean,
|
||||
warningCollector: ObjCExportWarningCollector
|
||||
problemCollector: ObjCExportProblemCollector
|
||||
) {
|
||||
|
||||
constructor(
|
||||
moduleDescriptors: List<ModuleDescriptor>,
|
||||
builtIns: KotlinBuiltIns,
|
||||
topLevelNamePrefix: String,
|
||||
warningCollector: ObjCExportWarningCollector
|
||||
) : this(moduleDescriptors, builtIns, topLevelNamePrefix, ObjCExportMapper(), warningCollector)
|
||||
problemCollector: ObjCExportProblemCollector
|
||||
) : this(moduleDescriptors, builtIns, topLevelNamePrefix, ObjCExportMapper(), problemCollector)
|
||||
|
||||
private constructor(
|
||||
moduleDescriptors: List<ModuleDescriptor>,
|
||||
builtIns: KotlinBuiltIns,
|
||||
topLevelNamePrefix: String,
|
||||
mapper: ObjCExportMapper,
|
||||
warningCollector: ObjCExportWarningCollector
|
||||
problemCollector: ObjCExportProblemCollector
|
||||
) : this(
|
||||
moduleDescriptors,
|
||||
mapper,
|
||||
ObjCExportNamerImpl(moduleDescriptors.toSet(), builtIns, mapper, topLevelNamePrefix, local = false),
|
||||
false,
|
||||
warningCollector
|
||||
problemCollector
|
||||
)
|
||||
|
||||
constructor(
|
||||
moduleDescriptor: ModuleDescriptor,
|
||||
builtIns: KotlinBuiltIns,
|
||||
topLevelNamePrefix: String = moduleDescriptor.namePrefix,
|
||||
warningCollector: ObjCExportWarningCollector
|
||||
) : this(moduleDescriptor, emptyList(), builtIns, topLevelNamePrefix, warningCollector)
|
||||
problemCollector: ObjCExportProblemCollector
|
||||
) : this(moduleDescriptor, emptyList(), builtIns, topLevelNamePrefix, problemCollector)
|
||||
|
||||
constructor(
|
||||
moduleDescriptor: ModuleDescriptor,
|
||||
exportedDependencies: List<ModuleDescriptor>,
|
||||
builtIns: KotlinBuiltIns,
|
||||
topLevelNamePrefix: String = moduleDescriptor.namePrefix,
|
||||
warningCollector: ObjCExportWarningCollector
|
||||
) : this(listOf(moduleDescriptor) + exportedDependencies, builtIns, topLevelNamePrefix, warningCollector)
|
||||
problemCollector: ObjCExportProblemCollector
|
||||
) : this(listOf(moduleDescriptor) + exportedDependencies, builtIns, topLevelNamePrefix, problemCollector)
|
||||
|
||||
private val stubs = mutableListOf<Stub<*>>()
|
||||
|
||||
@@ -1012,7 +1012,7 @@ abstract class ObjCExportHeaderGenerator internal constructor(
|
||||
private val protocolForwardDeclarations = linkedSetOf<String>()
|
||||
private val extraClassesToTranslate = mutableSetOf<ClassDescriptor>()
|
||||
|
||||
private val translator = ObjCExportTranslatorImpl(this, mapper, namer, warningCollector, objcGenerics)
|
||||
private val translator = ObjCExportTranslatorImpl(this, mapper, namer, problemCollector, objcGenerics)
|
||||
|
||||
private val generatedClasses = mutableSetOf<ClassDescriptor>()
|
||||
private val extensions = mutableMapOf<ClassDescriptor, MutableList<CallableMemberDescriptor>>()
|
||||
|
||||
+2
-2
@@ -22,8 +22,8 @@ internal class ObjCExportHeaderGeneratorImpl(
|
||||
mapper: ObjCExportMapper,
|
||||
namer: ObjCExportNamer,
|
||||
objcGenerics: Boolean
|
||||
) : ObjCExportHeaderGenerator(moduleDescriptors, mapper, namer, objcGenerics, WarningCollector(context)) {
|
||||
private class WarningCollector(val context: Context) : ObjCExportWarningCollector {
|
||||
) : ObjCExportHeaderGenerator(moduleDescriptors, mapper, namer, objcGenerics, ProblemCollector(context)) {
|
||||
private class ProblemCollector(val context: Context) : ObjCExportProblemCollector {
|
||||
override fun reportWarning(text: String) {
|
||||
context.reportCompilationWarning(text)
|
||||
}
|
||||
|
||||
+4
-4
@@ -53,7 +53,7 @@ interface ObjCExportLazy {
|
||||
@JvmOverloads
|
||||
fun createObjCExportLazy(
|
||||
configuration: ObjCExportLazy.Configuration,
|
||||
warningCollector: ObjCExportWarningCollector,
|
||||
problemCollector: ObjCExportProblemCollector,
|
||||
codeAnalyzer: KotlinCodeAnalyzer,
|
||||
typeResolver: TypeResolver,
|
||||
descriptorResolver: DescriptorResolver,
|
||||
@@ -62,7 +62,7 @@ fun createObjCExportLazy(
|
||||
deprecationResolver: DeprecationResolver? = null
|
||||
): ObjCExportLazy = ObjCExportLazyImpl(
|
||||
configuration,
|
||||
warningCollector,
|
||||
problemCollector,
|
||||
codeAnalyzer,
|
||||
typeResolver,
|
||||
descriptorResolver,
|
||||
@@ -73,7 +73,7 @@ fun createObjCExportLazy(
|
||||
|
||||
internal class ObjCExportLazyImpl(
|
||||
private val configuration: ObjCExportLazy.Configuration,
|
||||
warningCollector: ObjCExportWarningCollector,
|
||||
problemCollector: ObjCExportProblemCollector,
|
||||
private val codeAnalyzer: KotlinCodeAnalyzer,
|
||||
private val typeResolver: TypeResolver,
|
||||
private val descriptorResolver: DescriptorResolver,
|
||||
@@ -94,7 +94,7 @@ internal class ObjCExportLazyImpl(
|
||||
null,
|
||||
mapper,
|
||||
namer,
|
||||
warningCollector,
|
||||
problemCollector,
|
||||
configuration.objcGenerics
|
||||
)
|
||||
|
||||
|
||||
+4
-4
@@ -10,15 +10,15 @@ class ObjcExportHeaderGeneratorMobile internal constructor(
|
||||
moduleDescriptors: List<ModuleDescriptor>,
|
||||
mapper: ObjCExportMapper,
|
||||
namer: ObjCExportNamer,
|
||||
warningCollector: ObjCExportWarningCollector,
|
||||
problemCollector: ObjCExportProblemCollector,
|
||||
objcGenerics: Boolean,
|
||||
private val restrictToLocalModules: Boolean
|
||||
) : ObjCExportHeaderGenerator(moduleDescriptors, mapper, namer, objcGenerics, warningCollector) {
|
||||
) : ObjCExportHeaderGenerator(moduleDescriptors, mapper, namer, objcGenerics, problemCollector) {
|
||||
|
||||
companion object {
|
||||
fun createInstance(
|
||||
configuration: ObjCExportLazy.Configuration,
|
||||
warningCollector: ObjCExportWarningCollector,
|
||||
problemCollector: ObjCExportProblemCollector,
|
||||
builtIns: KotlinBuiltIns,
|
||||
moduleDescriptors: List<ModuleDescriptor>,
|
||||
deprecationResolver: DeprecationResolver? = null,
|
||||
@@ -32,7 +32,7 @@ class ObjcExportHeaderGeneratorMobile internal constructor(
|
||||
moduleDescriptors,
|
||||
mapper,
|
||||
namer,
|
||||
warningCollector,
|
||||
problemCollector,
|
||||
configuration.objcGenerics,
|
||||
restrictToLocalModules
|
||||
)
|
||||
|
||||
+2
-2
@@ -5,14 +5,14 @@
|
||||
|
||||
package org.jetbrains.kotlin.backend.konan.objcexport
|
||||
|
||||
internal class StubBuilder<S : Stub<*>>(private val warningCollector: ObjCExportWarningCollector) {
|
||||
internal class StubBuilder<S : Stub<*>>(private val problemCollector: ObjCExportProblemCollector) {
|
||||
private val children = mutableListOf<S>()
|
||||
|
||||
inline fun add(provider: () -> S) {
|
||||
try {
|
||||
children.add(provider())
|
||||
} catch (t: Throwable) {
|
||||
warningCollector.reportException(t)
|
||||
problemCollector.reportException(t)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user