Minor: use common constant for kotlin.Result

This commit is contained in:
Mikhail Zarechenskiy
2018-09-10 09:56:18 +03:00
parent 169599abcc
commit 26ca411423
@@ -5,19 +5,16 @@
package org.jetbrains.kotlin.resolve.checkers
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.config.AnalysisFlag
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.diagnostics.Errors
import org.jetbrains.kotlin.diagnostics.reportDiagnosticOnce
import org.jetbrains.kotlin.psi.KtCallableDeclaration
import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.types.KotlinType
class ResultClassInReturnTypeChecker : DeclarationChecker {
companion object {
internal const val RESULT_NAME = "Result"
}
override fun check(declaration: KtDeclaration, descriptor: DeclarationDescriptor, context: DeclarationCheckerContext) {
if (context.languageVersionSettings.getFlag(AnalysisFlag.allowResultReturnType)) return
@@ -57,6 +54,6 @@ internal fun KotlinType.isResultType(): Boolean {
private fun DeclarationDescriptor.isResultClass(): Boolean {
val container = containingDeclaration ?: return false
return container is PackageFragmentDescriptor &&
container.fqName == KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME &&
name.asString() == ResultClassInReturnTypeChecker.RESULT_NAME
container.fqName == DescriptorUtils.RESULT_FQ_NAME.parent() &&
name == DescriptorUtils.RESULT_FQ_NAME.shortName()
}