Rename ObjC warning collector to problem collector

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