diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/NameValidators.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/NameValidators.kt index 7cc461ecd8c..4278b9f0158 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/NameValidators.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/NameValidators.kt @@ -21,6 +21,8 @@ import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithVisibility import org.jetbrains.kotlin.idea.caches.resolve.analyze import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade +import org.jetbrains.kotlin.idea.util.getAllAccessibleFunctions +import org.jetbrains.kotlin.idea.util.getAllAccessibleVariables import org.jetbrains.kotlin.incremental.components.NoLookupLocation import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.* @@ -97,10 +99,9 @@ public class NewDeclarationNameValidator( return when(target) { Target.VARIABLES -> - getProperties(name, NoLookupLocation.FROM_IDE).any { !it.isExtension && it.isVisible() } || - getLocalVariable(name) != null + getAllAccessibleVariables(name).any { !it.isExtension && it.isVisible() } Target.FUNCTIONS_AND_CLASSES -> - getFunctions(name, NoLookupLocation.FROM_IDE).any { !it.isExtension && it.isVisible() } || + getAllAccessibleFunctions(name).any { !it.isExtension && it.isVisible() } || getClassifier(name, NoLookupLocation.FROM_IDE)?.let { it.isVisible() } ?: false } } diff --git a/idea/testData/refactoring/extractFunction/parameters/extractThis/qualifiedThisAsArgument.kt.after b/idea/testData/refactoring/extractFunction/parameters/extractThis/qualifiedThisAsArgument.kt.after index aa4222d15b5..9234931ccee 100644 --- a/idea/testData/refactoring/extractFunction/parameters/extractThis/qualifiedThisAsArgument.kt.after +++ b/idea/testData/refactoring/extractFunction/parameters/extractThis/qualifiedThisAsArgument.kt.after @@ -9,7 +9,7 @@ class A { fun B.foo() = i(this@A, this) } -private fun i(a1: A, b: B) = a1.a + b.b +private fun i(a1: A, b1: B) = a1.a + b1.b class B { val b = 1 diff --git a/idea/testData/refactoring/extractFunction/parameters/misc/addPrefixToBackticks.kt.after b/idea/testData/refactoring/extractFunction/parameters/misc/addPrefixToBackticks.kt.after index 22b88796757..e2def9171d5 100644 --- a/idea/testData/refactoring/extractFunction/parameters/misc/addPrefixToBackticks.kt.after +++ b/idea/testData/refactoring/extractFunction/parameters/misc/addPrefixToBackticks.kt.after @@ -11,6 +11,6 @@ class Y(val y: Int) { } } -private fun __dummyTestFun__(x: X, y1: Y) { - x.`x`plus y1.y +private fun __dummyTestFun__(x1: X, y1: Y) { + x1.`x`plus y1.y } \ No newline at end of file diff --git a/idea/testData/refactoring/introduceParameter/substituteDoubleReceiver.kt.after b/idea/testData/refactoring/introduceParameter/substituteDoubleReceiver.kt.after index d575fce04c7..9ddf9621480 100644 --- a/idea/testData/refactoring/introduceParameter/substituteDoubleReceiver.kt.after +++ b/idea/testData/refactoring/introduceParameter/substituteDoubleReceiver.kt.after @@ -14,7 +14,7 @@ class A(val a: Int) { fun test() { val t = with(A(1)) { - val a = A(2) - foo(this.a + a.a) + val a1 = A(2) + foo(a + a1.a) } } \ No newline at end of file diff --git a/idea/testData/refactoring/introduceParameter/substituteExplicitThisInMember.kt.after b/idea/testData/refactoring/introduceParameter/substituteExplicitThisInMember.kt.after index fdd138e0e74..bf50a11d376 100644 --- a/idea/testData/refactoring/introduceParameter/substituteExplicitThisInMember.kt.after +++ b/idea/testData/refactoring/introduceParameter/substituteExplicitThisInMember.kt.after @@ -8,13 +8,13 @@ class A(val a: Int) { } fun test() { - val a2 = A(1) + val a = A(1) val a3 = A(2) - a2.foo(a2.a + a3.a) + a.foo(a.a + a3.a) with(A(1)) { + val a2 = A(2) + foo(this.a + a2.a) val a1 = A(2) - foo(a + a1.a) - val a = A(2) - this.foo(this.a + a.a) + this.foo(this.a + a1.a) } } \ No newline at end of file diff --git a/idea/testData/refactoring/introduceParameter/substituteImplicitThisInMember.kt.after b/idea/testData/refactoring/introduceParameter/substituteImplicitThisInMember.kt.after index fdd138e0e74..bf50a11d376 100644 --- a/idea/testData/refactoring/introduceParameter/substituteImplicitThisInMember.kt.after +++ b/idea/testData/refactoring/introduceParameter/substituteImplicitThisInMember.kt.after @@ -8,13 +8,13 @@ class A(val a: Int) { } fun test() { - val a2 = A(1) + val a = A(1) val a3 = A(2) - a2.foo(a2.a + a3.a) + a.foo(a.a + a3.a) with(A(1)) { + val a2 = A(2) + foo(this.a + a2.a) val a1 = A(2) - foo(a + a1.a) - val a = A(2) - this.foo(this.a + a.a) + this.foo(this.a + a1.a) } } \ No newline at end of file diff --git a/idea/testData/refactoring/introduceVariable/NoExplicitReceivers.kt.after b/idea/testData/refactoring/introduceVariable/NoExplicitReceivers.kt.after index 5260c9aeb4e..ae48ca57401 100644 --- a/idea/testData/refactoring/introduceVariable/NoExplicitReceivers.kt.after +++ b/idea/testData/refactoring/introduceVariable/NoExplicitReceivers.kt.after @@ -1,9 +1,9 @@ // WITH_RUNTIME fun main(args: Array) { with(A()) { - val prop = prop - println(prop) - println(prop) + val prop1 = prop + println(prop1) + println(prop1) } } diff --git a/idea/testData/refactoring/introduceVariable/nonEquivalentReceivers.kt.after b/idea/testData/refactoring/introduceVariable/nonEquivalentReceivers.kt.after index 87f663d3f23..14e92c45b04 100644 --- a/idea/testData/refactoring/introduceVariable/nonEquivalentReceivers.kt.after +++ b/idea/testData/refactoring/introduceVariable/nonEquivalentReceivers.kt.after @@ -6,9 +6,9 @@ fun foo(body: A.() -> Unit) {} fun bar() { foo { - val value = value - print(value) - print(value) + val value1 = value + print(value1) + print(value1) } foo {