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")
|
||||
|
||||
fun JetFile.skipVisibilityCheck() =
|
||||
public fun JetFile.skipVisibilityCheck(): Boolean =
|
||||
when (this) {
|
||||
is JetCodeFragment -> true
|
||||
is JetFile -> getUserData(SKIP_VISIBILITY_CHECK) ?: false
|
||||
else -> false
|
||||
}
|
||||
|
||||
fun JetFile.setSkipVisibilityCheck(skip: Boolean) {
|
||||
public fun JetFile.setSkipVisibilityCheck(skip: Boolean) {
|
||||
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.JetTypeParameterListOwner
|
||||
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
|
||||
|
||||
private val DEFAULT_FUNCTION_NAME = "myFun"
|
||||
@@ -689,11 +687,7 @@ fun ExtractionDescriptor.generateFunction(
|
||||
fun createFunction(): JetNamedFunction {
|
||||
return with(extractionData) {
|
||||
if (inTempFile) {
|
||||
val function = createTemporaryFunction("${getFunctionText()}\n")
|
||||
if (originalFile.skipVisibilityCheck()) {
|
||||
function.getContainingJetFile().setSkipVisibilityCheck(true)
|
||||
}
|
||||
function
|
||||
createTemporaryFunction("${getFunctionText()}\n")
|
||||
}
|
||||
else {
|
||||
JetPsiFactory.createFunction(project, getFunctionText())
|
||||
|
||||
@@ -45,10 +45,8 @@ import com.intellij.refactoring.BaseRefactoringProcessor.ConflictsInTestsExcepti
|
||||
import com.intellij.refactoring.ui.ConflictsDialog
|
||||
import com.intellij.util.containers.MultiMap
|
||||
import com.intellij.openapi.command.CommandProcessor
|
||||
import org.jetbrains.jet.lexer.JetTokens
|
||||
import org.jetbrains.jet.lang.psi.psiUtil.getParentByType
|
||||
import org.jetbrains.jet.plugin.codeInsight.TipsManager
|
||||
import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache
|
||||
import org.jetbrains.jet.lang.psi.codeFragmentUtil.setSkipVisibilityCheck
|
||||
import org.jetbrains.jet.lang.psi.codeFragmentUtil.skipVisibilityCheck
|
||||
|
||||
/**
|
||||
* 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 {
|
||||
val tmpFile = JetPsiFactory.createFile(getProject(), getName(), textTransform(getText() ?: ""))
|
||||
tmpFile.setOriginalFile(this)
|
||||
if (skipVisibilityCheck()) {
|
||||
tmpFile.setSkipVisibilityCheck(true)
|
||||
}
|
||||
return tmpFile
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user