Make an excuse for contracts for loading psi for now
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
package org.jetbrains.kotlin.resolve
|
package org.jetbrains.kotlin.resolve
|
||||||
|
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
|
import com.intellij.util.AstLoadingFilter
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.builtins.getReceiverTypeFromFunctionType
|
import org.jetbrains.kotlin.builtins.getReceiverTypeFromFunctionType
|
||||||
import org.jetbrains.kotlin.builtins.getValueParameterTypesFromFunctionType
|
import org.jetbrains.kotlin.builtins.getValueParameterTypesFromFunctionType
|
||||||
@@ -42,7 +43,6 @@ import org.jetbrains.kotlin.name.Name
|
|||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.hasActualModifier
|
import org.jetbrains.kotlin.psi.psiUtil.hasActualModifier
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.hasExpectModifier
|
import org.jetbrains.kotlin.psi.psiUtil.hasExpectModifier
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.isContractPresentPsiCheck
|
|
||||||
import org.jetbrains.kotlin.resolve.DescriptorResolver.getDefaultModality
|
import org.jetbrains.kotlin.resolve.DescriptorResolver.getDefaultModality
|
||||||
import org.jetbrains.kotlin.resolve.DescriptorResolver.getDefaultVisibility
|
import org.jetbrains.kotlin.resolve.DescriptorResolver.getDefaultVisibility
|
||||||
import org.jetbrains.kotlin.resolve.DescriptorUtils.getDispatchReceiverParameterIfNeeded
|
import org.jetbrains.kotlin.resolve.DescriptorUtils.getDispatchReceiverParameterIfNeeded
|
||||||
@@ -264,7 +264,9 @@ class FunctionDescriptorResolver(
|
|||||||
if (!isContractsEnabled || !function.mayHaveContract()) return null
|
if (!isContractsEnabled || !function.mayHaveContract()) return null
|
||||||
|
|
||||||
return LazyContractProvider {
|
return LazyContractProvider {
|
||||||
expressionTypingServices.getBodyExpressionType(trace, scope, dataFlowInfo, function, functionDescriptor)
|
AstLoadingFilter.forceEnableTreeLoading(function.containingFile) {
|
||||||
|
expressionTypingServices.getBodyExpressionType(trace, scope, dataFlowInfo, function, functionDescriptor)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user