Move AstLoadingFilter to incompatible API and update usages

This commit is contained in:
Nikolay Krasko
2018-11-08 14:59:44 +03:00
parent 02d7e701d0
commit e2269e13af
7 changed files with 75 additions and 6 deletions
+1
View File
@@ -112,6 +112,7 @@
<Problem reference="com.intellij.execution.configurations.RunConfigurationBase" reason="Generalized in 183. Use RunConfigurationBaseAny instead in signatures." />
<Problem reference="com.intellij.execution.configurations.LocatableConfigurationBase" reason="Generalized in 183. Use LocatableConfigurationBaseAny instead in signatures." />
<Problem reference="com.intellij.execution.configurations.ModuleBasedConfiguration" reason="Generalized in 183. Use ModuleBasedConfigurationElement instead." />
<Problem reference="com.intellij.util.AstLoadingFilter" reason="Absent in 181. Almost all methods were renamed in 183. Use org.jetbrains.kotlin.util.AstLoadingFilter instead." />
</list>
</option>
</inspection_tool>
@@ -17,7 +17,6 @@
package org.jetbrains.kotlin.resolve
import com.intellij.psi.PsiElement
import com.intellij.util.AstLoadingFilter
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.builtins.getReceiverTypeFromFunctionType
import org.jetbrains.kotlin.builtins.getValueParameterTypesFromFunctionType
@@ -68,6 +67,7 @@ import org.jetbrains.kotlin.types.expressions.ExpressionTypingUtils
import org.jetbrains.kotlin.types.expressions.ExpressionTypingUtils.isFunctionExpression
import org.jetbrains.kotlin.types.expressions.ExpressionTypingUtils.isFunctionLiteral
import org.jetbrains.kotlin.types.typeUtil.replaceAnnotations
import org.jetbrains.kotlin.util.AstLoadingFilter
import java.util.*
class FunctionDescriptorResolver(
@@ -264,7 +264,7 @@ class FunctionDescriptorResolver(
if (!isContractsEnabled || !function.mayHaveContract()) return null
return LazyContractProvider {
AstLoadingFilter.forceEnableTreeLoading(function.containingFile) {
AstLoadingFilter.forceAllowTreeLoading(function.containingFile) {
expressionTypingServices.getBodyExpressionType(trace, scope, dataFlowInfo, function, functionDescriptor)
}
}
@@ -20,7 +20,6 @@ import com.intellij.lang.ASTNode
import com.intellij.openapi.util.ThrowableComputable
import com.intellij.psi.PsiElement
import com.intellij.psi.util.PsiTreeUtil
import com.intellij.util.AstLoadingFilter
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.config.LanguageVersionSettings
@@ -66,6 +65,7 @@ import org.jetbrains.kotlin.types.expressions.ExpressionTypingServices
import org.jetbrains.kotlin.types.expressions.KotlinTypeInfo
import org.jetbrains.kotlin.types.expressions.typeInfoFactory.createTypeInfo
import org.jetbrains.kotlin.types.expressions.typeInfoFactory.noTypeInfo
import org.jetbrains.kotlin.util.AstLoadingFilter
import javax.inject.Inject
class CallExpressionResolver(
@@ -350,7 +350,7 @@ class CallExpressionResolver(
val receiverCanBeNull = receiverDataFlowValue != null &&
initialDataFlowInfoForArguments.getStableNullability(receiverDataFlowValue).canBeNull()
val callOperationNode = AstLoadingFilter.forceEnableTreeLoading(element.qualified.containingFile, ThrowableComputable {
val callOperationNode = AstLoadingFilter.forceAllowTreeLoading(element.qualified.containingFile, ThrowableComputable {
element.node
})
@@ -25,7 +25,6 @@ import com.intellij.psi.PsiModifiableCodeBlock;
import com.intellij.psi.tree.IElementType;
import com.intellij.psi.tree.TokenSet;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.util.AstLoadingFilter;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.KtNodeTypes;
@@ -33,6 +32,7 @@ import org.jetbrains.kotlin.lexer.KtTokens;
import org.jetbrains.kotlin.psi.stubs.KotlinPropertyStub;
import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes;
import org.jetbrains.kotlin.psi.typeRefHelpers.TypeRefHelpersKt;
import org.jetbrains.kotlin.util.AstLoadingFilter;
import java.util.Collections;
import java.util.List;
@@ -252,7 +252,7 @@ public class KtProperty extends KtTypeParameterListOwnerStub<KotlinPropertyStub>
return null;
}
return AstLoadingFilter.forceEnableTreeLoading(this.getContainingFile(), () ->
return AstLoadingFilter.forceAllowTreeLoading(this.getContainingFile(), () ->
PsiTreeUtil.getNextSiblingOfType(findChildByType(EQ), KtExpression.class)
);
}
@@ -0,0 +1,23 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.util
import com.intellij.openapi.util.ThrowableComputable
import com.intellij.psi.PsiFile
import com.intellij.util.AstLoadingFilter
/**
* Absent in 181. Methods were renamed in 183.
*
* BUNCH: 183
*/
@Suppress("IncompatibleAPI")
object AstLoadingFilter {
@JvmStatic
fun <T, E : Throwable> forceAllowTreeLoading(psiFile: PsiFile, computable: ThrowableComputable<out T, E>): T {
return AstLoadingFilter.forceEnableTreeLoading(psiFile, computable)
}
}
@@ -0,0 +1,22 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.util
import com.intellij.openapi.util.ThrowableComputable
import com.intellij.psi.PsiFile
/**
* Absent in 181. Methods were renamed in 183.
*
* BUNCH: 183
*/
@Suppress("IncompatibleAPI")
object AstLoadingFilter {
@JvmStatic
fun <T, E : Throwable> forceAllowTreeLoading(psiFile: PsiFile, computable: ThrowableComputable<out T, E>): T {
return computable.compute()
}
}
@@ -0,0 +1,23 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.util
import com.intellij.openapi.util.ThrowableComputable
import com.intellij.psi.PsiFile
import com.intellij.util.AstLoadingFilter
/**
* Absent in 181. Methods were renamed in 183.
*
* BUNCH: 183
*/
@Suppress("IncompatibleAPI")
object AstLoadingFilter {
@JvmStatic
fun <T, E : Throwable> forceAllowTreeLoading(psiFile: PsiFile, computable: ThrowableComputable<out T, E>): T {
return AstLoadingFilter.forceAllowTreeLoading(psiFile, computable)
}
}