Move skipVisibility check to createTempCopy()

This commit is contained in:
Alexey Sedunov
2014-06-02 16:36:48 +04:00
parent 3c5c0248a7
commit 6ce0ac8187
3 changed files with 8 additions and 13 deletions
@@ -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)
}
@@ -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
}