Move skipVisibility check to createTempCopy()
This commit is contained in:
@@ -23,14 +23,14 @@ import org.jetbrains.jet.lang.psi.JetCodeFragment
|
|||||||
|
|
||||||
public val SKIP_VISIBILITY_CHECK: Key<Boolean> = Key.create<Boolean>("SKIP_VISIBILITY_CHECK")
|
public val SKIP_VISIBILITY_CHECK: Key<Boolean> = Key.create<Boolean>("SKIP_VISIBILITY_CHECK")
|
||||||
|
|
||||||
fun JetFile.skipVisibilityCheck() =
|
public fun JetFile.skipVisibilityCheck(): Boolean =
|
||||||
when (this) {
|
when (this) {
|
||||||
is JetCodeFragment -> true
|
is JetCodeFragment -> true
|
||||||
is JetFile -> getUserData(SKIP_VISIBILITY_CHECK) ?: false
|
is JetFile -> getUserData(SKIP_VISIBILITY_CHECK) ?: false
|
||||||
else -> false
|
else -> false
|
||||||
}
|
}
|
||||||
|
|
||||||
fun JetFile.setSkipVisibilityCheck(skip: Boolean) {
|
public fun JetFile.setSkipVisibilityCheck(skip: Boolean) {
|
||||||
putUserData(SKIP_VISIBILITY_CHECK, skip)
|
putUserData(SKIP_VISIBILITY_CHECK, skip)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-7
@@ -97,8 +97,6 @@ import org.jetbrains.jet.lang.diagnostics.Errors
|
|||||||
import org.jetbrains.jet.lang.psi.JetTypeReference
|
import org.jetbrains.jet.lang.psi.JetTypeReference
|
||||||
import org.jetbrains.jet.lang.psi.JetTypeParameterListOwner
|
import org.jetbrains.jet.lang.psi.JetTypeParameterListOwner
|
||||||
import org.jetbrains.jet.plugin.refactoring.extractFunction.AnalysisResult.Status
|
import org.jetbrains.jet.plugin.refactoring.extractFunction.AnalysisResult.Status
|
||||||
import org.jetbrains.jet.lang.psi.codeFragmentUtil.skipVisibilityCheck
|
|
||||||
import org.jetbrains.jet.lang.psi.codeFragmentUtil.setSkipVisibilityCheck
|
|
||||||
import org.jetbrains.jet.plugin.refactoring.extractFunction.AnalysisResult.ErrorMessage
|
import org.jetbrains.jet.plugin.refactoring.extractFunction.AnalysisResult.ErrorMessage
|
||||||
|
|
||||||
private val DEFAULT_FUNCTION_NAME = "myFun"
|
private val DEFAULT_FUNCTION_NAME = "myFun"
|
||||||
@@ -689,11 +687,7 @@ fun ExtractionDescriptor.generateFunction(
|
|||||||
fun createFunction(): JetNamedFunction {
|
fun createFunction(): JetNamedFunction {
|
||||||
return with(extractionData) {
|
return with(extractionData) {
|
||||||
if (inTempFile) {
|
if (inTempFile) {
|
||||||
val function = createTemporaryFunction("${getFunctionText()}\n")
|
createTemporaryFunction("${getFunctionText()}\n")
|
||||||
if (originalFile.skipVisibilityCheck()) {
|
|
||||||
function.getContainingJetFile().setSkipVisibilityCheck(true)
|
|
||||||
}
|
|
||||||
function
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
JetPsiFactory.createFunction(project, getFunctionText())
|
JetPsiFactory.createFunction(project, getFunctionText())
|
||||||
|
|||||||
@@ -45,10 +45,8 @@ import com.intellij.refactoring.BaseRefactoringProcessor.ConflictsInTestsExcepti
|
|||||||
import com.intellij.refactoring.ui.ConflictsDialog
|
import com.intellij.refactoring.ui.ConflictsDialog
|
||||||
import com.intellij.util.containers.MultiMap
|
import com.intellij.util.containers.MultiMap
|
||||||
import com.intellij.openapi.command.CommandProcessor
|
import com.intellij.openapi.command.CommandProcessor
|
||||||
import org.jetbrains.jet.lexer.JetTokens
|
import org.jetbrains.jet.lang.psi.codeFragmentUtil.setSkipVisibilityCheck
|
||||||
import org.jetbrains.jet.lang.psi.psiUtil.getParentByType
|
import org.jetbrains.jet.lang.psi.codeFragmentUtil.skipVisibilityCheck
|
||||||
import org.jetbrains.jet.plugin.codeInsight.TipsManager
|
|
||||||
import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Replace [[JetSimpleNameExpression]] (and its enclosing qualifier) with qualified element given by FqName
|
* Replace [[JetSimpleNameExpression]] (and its enclosing qualifier) with qualified element given by FqName
|
||||||
@@ -128,6 +126,9 @@ public fun PsiElement.isInJavaSourceRoot(): Boolean =
|
|||||||
public inline fun JetFile.createTempCopy(textTransform: (String) -> String): JetFile {
|
public inline fun JetFile.createTempCopy(textTransform: (String) -> String): JetFile {
|
||||||
val tmpFile = JetPsiFactory.createFile(getProject(), getName(), textTransform(getText() ?: ""))
|
val tmpFile = JetPsiFactory.createFile(getProject(), getName(), textTransform(getText() ?: ""))
|
||||||
tmpFile.setOriginalFile(this)
|
tmpFile.setOriginalFile(this)
|
||||||
|
if (skipVisibilityCheck()) {
|
||||||
|
tmpFile.setSkipVisibilityCheck(true)
|
||||||
|
}
|
||||||
return tmpFile
|
return tmpFile
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user