Minor: use common constant for kotlin.Result
This commit is contained in:
+3
-6
@@ -5,19 +5,16 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.resolve.checkers
|
package org.jetbrains.kotlin.resolve.checkers
|
||||||
|
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
|
||||||
import org.jetbrains.kotlin.config.AnalysisFlag
|
import org.jetbrains.kotlin.config.AnalysisFlag
|
||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
import org.jetbrains.kotlin.diagnostics.reportDiagnosticOnce
|
import org.jetbrains.kotlin.diagnostics.reportDiagnosticOnce
|
||||||
import org.jetbrains.kotlin.psi.KtCallableDeclaration
|
import org.jetbrains.kotlin.psi.KtCallableDeclaration
|
||||||
import org.jetbrains.kotlin.psi.KtDeclaration
|
import org.jetbrains.kotlin.psi.KtDeclaration
|
||||||
|
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||||
import org.jetbrains.kotlin.types.KotlinType
|
import org.jetbrains.kotlin.types.KotlinType
|
||||||
|
|
||||||
class ResultClassInReturnTypeChecker : DeclarationChecker {
|
class ResultClassInReturnTypeChecker : DeclarationChecker {
|
||||||
companion object {
|
|
||||||
internal const val RESULT_NAME = "Result"
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun check(declaration: KtDeclaration, descriptor: DeclarationDescriptor, context: DeclarationCheckerContext) {
|
override fun check(declaration: KtDeclaration, descriptor: DeclarationDescriptor, context: DeclarationCheckerContext) {
|
||||||
if (context.languageVersionSettings.getFlag(AnalysisFlag.allowResultReturnType)) return
|
if (context.languageVersionSettings.getFlag(AnalysisFlag.allowResultReturnType)) return
|
||||||
@@ -57,6 +54,6 @@ internal fun KotlinType.isResultType(): Boolean {
|
|||||||
private fun DeclarationDescriptor.isResultClass(): Boolean {
|
private fun DeclarationDescriptor.isResultClass(): Boolean {
|
||||||
val container = containingDeclaration ?: return false
|
val container = containingDeclaration ?: return false
|
||||||
return container is PackageFragmentDescriptor &&
|
return container is PackageFragmentDescriptor &&
|
||||||
container.fqName == KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME &&
|
container.fqName == DescriptorUtils.RESULT_FQ_NAME.parent() &&
|
||||||
name.asString() == ResultClassInReturnTypeChecker.RESULT_NAME
|
name == DescriptorUtils.RESULT_FQ_NAME.shortName()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user