Do not report OPTIONAL_DECLARATION_USAGE_... in IDE for platform modules

#KT-26585 Fixed
Also fixes MultiPlatformHighlightingTestGenerated.testMultifileFacade
This commit is contained in:
Mikhail Glukhikh
2018-09-05 18:31:23 +03:00
parent ca1e0a4b88
commit 5f2c7d3c84
4 changed files with 17 additions and 1 deletions
@@ -9,6 +9,9 @@ import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor
import org.jetbrains.kotlin.diagnostics.Errors
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.resolve.MultiTargetPlatform
import org.jetbrains.kotlin.resolve.descriptorUtil.module
import org.jetbrains.kotlin.resolve.getMultiTargetPlatform
import org.jetbrains.kotlin.resolve.multiplatform.isCommonSource
class OptionalExpectationUsageChecker : ClassifierUsageChecker {
@@ -20,7 +23,8 @@ class OptionalExpectationUsageChecker : ClassifierUsageChecker {
}
val ktFile = element.containingFile as KtFile
if (ktFile.isCommonSource != true) {
// The first part is for the compiler, and the second one is for IDE
if (ktFile.isCommonSource != true && targetDescriptor.module.getMultiTargetPlatform() != MultiTargetPlatform.Common) {
context.trace.report(Errors.OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE.on(element))
}
}