diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/codeFragmentUtil.kt b/compiler/frontend/src/org/jetbrains/jet/lang/psi/codeFragmentUtil.kt index dab0c1f8998..0e5934d9b2f 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/codeFragmentUtil.kt +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/codeFragmentUtil.kt @@ -23,14 +23,14 @@ import org.jetbrains.jet.lang.psi.JetCodeFragment public val SKIP_VISIBILITY_CHECK: Key = Key.create("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) } diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/extractFunctionUtils.kt b/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/extractFunctionUtils.kt index 45a71e329ee..553e857d499 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/extractFunctionUtils.kt +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/extractFunctionUtils.kt @@ -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()) diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/jetRefactoringUtil.kt b/idea/src/org/jetbrains/jet/plugin/refactoring/jetRefactoringUtil.kt index 5ce2235a8e3..410f6cfe516 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/jetRefactoringUtil.kt +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/jetRefactoringUtil.kt @@ -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 }