Move ExpectActualCompatibility to :compiler:resolution.common
This commit is contained in:
committed by
teamcityserver
parent
950db81aa4
commit
6e83820f97
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.module
|
||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
||||
import org.jetbrains.kotlin.resolve.multiplatform.ExpectActualCompatibility
|
||||
import org.jetbrains.kotlin.resolve.multiplatform.ExpectedActualResolver
|
||||
|
||||
internal fun MemberDescriptor.expectedDescriptors() =
|
||||
@@ -74,7 +75,7 @@ fun ModuleDescriptor.hasDeclarationOf(descriptor: MemberDescriptor) = declaratio
|
||||
private fun ModuleDescriptor.declarationOf(descriptor: MemberDescriptor): DeclarationDescriptor? =
|
||||
with(ExpectedActualResolver) {
|
||||
val expectedCompatibilityMap = findExpectedForActual(descriptor, this@declarationOf)
|
||||
expectedCompatibilityMap?.get(ExpectedActualResolver.Compatibility.Compatible)?.firstOrNull()
|
||||
expectedCompatibilityMap?.get(ExpectActualCompatibility.Compatible)?.firstOrNull()
|
||||
?: expectedCompatibilityMap?.values?.flatten()?.firstOrNull()
|
||||
}
|
||||
|
||||
@@ -181,4 +182,4 @@ fun KtDeclaration.runCommandOnAllExpectAndActualDeclaration(
|
||||
} else {
|
||||
project.executeCommand(command, command = ::process)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.resolve.checkers.ExpectedActualDeclarationChecker.Co
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.module
|
||||
import org.jetbrains.kotlin.resolve.multiplatform.ExpectedActualResolver
|
||||
import org.jetbrains.kotlin.resolve.multiplatform.OptionalAnnotationUtil
|
||||
import org.jetbrains.kotlin.resolve.multiplatform.ExpectActualCompatibility
|
||||
|
||||
class OptionalExpectationInspection : AbstractKotlinInspection() {
|
||||
override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean, session: LocalInspectionToolSession) =
|
||||
@@ -43,12 +44,12 @@ class OptionalExpectationInspection : AbstractKotlinInspection() {
|
||||
for (actualModuleDescriptor in implementingModules) {
|
||||
val compatibility = ExpectedActualResolver.findActualForExpected(descriptor, actualModuleDescriptor) ?: continue
|
||||
if (!compatibility.allStrongIncompatibilities() &&
|
||||
(ExpectedActualResolver.Compatibility.Compatible in compatibility ||
|
||||
(ExpectActualCompatibility.Compatible in compatibility ||
|
||||
!compatibility.values.flatMapTo(
|
||||
hashSetOf()
|
||||
) { it }.all { actual ->
|
||||
val expectedOnes = ExpectedActualResolver.findExpectedForActual(actual, descriptor.module)
|
||||
expectedOnes != null && ExpectedActualResolver.Compatibility.Compatible in expectedOnes.keys
|
||||
expectedOnes != null && ExpectActualCompatibility.Compatible in expectedOnes.keys
|
||||
})
|
||||
) continue
|
||||
val platform = actualModuleDescriptor.platform ?: continue
|
||||
@@ -69,4 +70,4 @@ class OptionalExpectationInspection : AbstractKotlinInspection() {
|
||||
)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user