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.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
|
||||||
|
|||||||
+15
-15
@@ -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>>()
|
||||||
|
|||||||
+2
-2
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-4
@@ -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
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -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
|
||||||
)
|
)
|
||||||
|
|||||||
+2
-2
@@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user