Add KotlinBuiltIns#isBuiltIn, use it instead of other utilities

This commit is contained in:
Alexander Udalov
2016-10-19 11:46:46 +03:00
parent 4effe42f1d
commit 484b0e36fb
12 changed files with 57 additions and 76 deletions
@@ -17,6 +17,7 @@
package org.jetbrains.kotlin.resolve.jvm.checkers
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.config.LanguageVersionSettings
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
@@ -25,7 +26,6 @@ import org.jetbrains.kotlin.diagnostics.DiagnosticSink
import org.jetbrains.kotlin.diagnostics.Errors
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.load.java.descriptors.JavaCallableMemberDescriptor
import org.jetbrains.kotlin.load.java.isFromBuiltins
import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.checkers.DeclarationChecker
@@ -53,10 +53,9 @@ private fun reportErrorIfAdditionalBuiltinDescriptor(
diagnosticHolder: DiagnosticSink,
reportOn: PsiElement
) {
@Suppress("UNCHECKED_CAST")
val overriddenTree = descriptor.overriddenTreeUniqueAsSequence(useOriginal = true) as Sequence<CallableMemberDescriptor>
val overriddenTree = descriptor.overriddenTreeUniqueAsSequence(useOriginal = true)
if (overriddenTree.any { it.isFromBuiltins() && it is JavaCallableMemberDescriptor }) {
if (overriddenTree.any { KotlinBuiltIns.isBuiltIn(it) && it is JavaCallableMemberDescriptor }) {
diagnosticHolder.report(Errors.UNSUPPORTED_FEATURE.on(reportOn, LanguageFeature.AdditionalBuiltInsMembers))
}
}