Move: Fix processing of callable references to Java constructors
This commit is contained in:
@@ -249,6 +249,7 @@ private fun getReferenceKind(reference: PsiReference, referencedElement: PsiElem
|
|||||||
element.getParentOfTypeAndBranch<KtCallableReferenceExpression> { callableReference }?.let {
|
element.getParentOfTypeAndBranch<KtCallableReferenceExpression> { callableReference }?.let {
|
||||||
if (it.receiverExpression != null) return ReferenceKind.IRRELEVANT
|
if (it.receiverExpression != null) return ReferenceKind.IRRELEVANT
|
||||||
if (referencedElement is KtDeclaration && referencedElement.parent is KtFile) return ReferenceKind.UNQUALIFIABLE
|
if (referencedElement is KtDeclaration && referencedElement.parent is KtFile) return ReferenceKind.UNQUALIFIABLE
|
||||||
|
if (referencedElement is PsiMember && referencedElement.getContainingClass() == null) return ReferenceKind.UNQUALIFIABLE
|
||||||
}
|
}
|
||||||
|
|
||||||
return ReferenceKind.QUALIFIABLE
|
return ReferenceKind.QUALIFIABLE
|
||||||
|
|||||||
+9
@@ -2,8 +2,11 @@ package baz
|
|||||||
|
|
||||||
import foo.A
|
import foo.A
|
||||||
import foo.J
|
import foo.J
|
||||||
|
import foo.JConstr
|
||||||
import foo.O
|
import foo.O
|
||||||
import foo.O.objectExtensionMember2
|
import foo.O.objectExtensionMember2
|
||||||
|
import foo.Y
|
||||||
|
import foo.YConstr
|
||||||
import foo.classExtension
|
import foo.classExtension
|
||||||
import foo.companionExtension
|
import foo.companionExtension
|
||||||
import foo.objectExtension
|
import foo.objectExtension
|
||||||
@@ -39,6 +42,12 @@ fun test() {
|
|||||||
J::javaClassMember
|
J::javaClassMember
|
||||||
J::javaClassStaticMember
|
J::javaClassStaticMember
|
||||||
::topLevel
|
::topLevel
|
||||||
|
::Y
|
||||||
|
::YConstr
|
||||||
|
Y::YY
|
||||||
|
::J
|
||||||
|
::JConstr
|
||||||
|
J::JJ
|
||||||
|
|
||||||
with(A()) {
|
with(A()) {
|
||||||
classMember()
|
classMember()
|
||||||
|
|||||||
+4
@@ -1,6 +1,10 @@
|
|||||||
package foo;
|
package foo;
|
||||||
|
|
||||||
public class J {
|
public class J {
|
||||||
|
public static class JJ {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void javaClassMember() {
|
public void javaClassMember() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package foo;
|
||||||
|
|
||||||
|
public class JConstr {
|
||||||
|
public JConstr(int n) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
class Y {
|
||||||
|
class YY
|
||||||
|
}
|
||||||
|
|
||||||
|
class YConstr(n: Int)
|
||||||
+6
@@ -36,6 +36,12 @@ fun <caret>test() {
|
|||||||
J::javaClassMember
|
J::javaClassMember
|
||||||
J::javaClassStaticMember
|
J::javaClassStaticMember
|
||||||
::topLevel
|
::topLevel
|
||||||
|
::Y
|
||||||
|
::YConstr
|
||||||
|
Y::YY
|
||||||
|
::J
|
||||||
|
::JConstr
|
||||||
|
J::JJ
|
||||||
|
|
||||||
with(A()) {
|
with(A()) {
|
||||||
classMember()
|
classMember()
|
||||||
|
|||||||
+4
@@ -1,6 +1,10 @@
|
|||||||
package foo;
|
package foo;
|
||||||
|
|
||||||
public class J {
|
public class J {
|
||||||
|
public static class JJ {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void javaClassMember() {
|
public void javaClassMember() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package foo;
|
||||||
|
|
||||||
|
public class JConstr {
|
||||||
|
public JConstr(int n) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
class Y {
|
||||||
|
class YY
|
||||||
|
}
|
||||||
|
|
||||||
|
class YConstr(n: Int)
|
||||||
+4
@@ -1,6 +1,10 @@
|
|||||||
package foo;
|
package foo;
|
||||||
|
|
||||||
public class J {
|
public class J {
|
||||||
|
public static class JJ {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void javaClassMember() {
|
public void javaClassMember() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package foo;
|
||||||
|
|
||||||
|
public class JConstr {
|
||||||
|
public JConstr(int n) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
class Y {
|
||||||
|
class YY
|
||||||
|
}
|
||||||
|
|
||||||
|
class YConstr(n: Int)
|
||||||
+6
@@ -32,6 +32,12 @@ fun test() {
|
|||||||
J::javaClassMember
|
J::javaClassMember
|
||||||
J::javaClassStaticMember
|
J::javaClassStaticMember
|
||||||
::topLevel
|
::topLevel
|
||||||
|
::Y
|
||||||
|
::YConstr
|
||||||
|
Y::YY
|
||||||
|
::J
|
||||||
|
::JConstr
|
||||||
|
J::JJ
|
||||||
|
|
||||||
with(A()) {
|
with(A()) {
|
||||||
classMember()
|
classMember()
|
||||||
|
|||||||
+6
@@ -36,6 +36,12 @@ fun <caret>test() {
|
|||||||
J::javaClassMember
|
J::javaClassMember
|
||||||
J::javaClassStaticMember
|
J::javaClassStaticMember
|
||||||
::topLevel
|
::topLevel
|
||||||
|
::Y
|
||||||
|
::YConstr
|
||||||
|
Y::YY
|
||||||
|
::J
|
||||||
|
::JConstr
|
||||||
|
J::JJ
|
||||||
|
|
||||||
with(A()) {
|
with(A()) {
|
||||||
classMember()
|
classMember()
|
||||||
|
|||||||
+4
@@ -1,6 +1,10 @@
|
|||||||
package foo;
|
package foo;
|
||||||
|
|
||||||
public class J {
|
public class J {
|
||||||
|
public static class JJ {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void javaClassMember() {
|
public void javaClassMember() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package foo;
|
||||||
|
|
||||||
|
public class JConstr {
|
||||||
|
public JConstr(int n) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
class Y {
|
||||||
|
class YY
|
||||||
|
}
|
||||||
|
|
||||||
|
class YConstr(n: Int)
|
||||||
+9
@@ -2,8 +2,11 @@ package bar
|
|||||||
|
|
||||||
import foo.A
|
import foo.A
|
||||||
import foo.J
|
import foo.J
|
||||||
|
import foo.JConstr
|
||||||
import foo.O
|
import foo.O
|
||||||
import foo.O.objectExtensionMember2
|
import foo.O.objectExtensionMember2
|
||||||
|
import foo.X
|
||||||
|
import foo.XConstr
|
||||||
import foo.classExtension
|
import foo.classExtension
|
||||||
import foo.companionExtension
|
import foo.companionExtension
|
||||||
import foo.objectExtension
|
import foo.objectExtension
|
||||||
@@ -39,6 +42,12 @@ fun test() {
|
|||||||
J::javaClassMember
|
J::javaClassMember
|
||||||
J::javaClassStaticMember
|
J::javaClassStaticMember
|
||||||
::topLevel
|
::topLevel
|
||||||
|
::X
|
||||||
|
::XConstr
|
||||||
|
X::XX
|
||||||
|
::J
|
||||||
|
::JConstr
|
||||||
|
J::JJ
|
||||||
|
|
||||||
with(A()) {
|
with(A()) {
|
||||||
classMember()
|
classMember()
|
||||||
|
|||||||
+4
@@ -1,6 +1,10 @@
|
|||||||
package foo;
|
package foo;
|
||||||
|
|
||||||
public class J {
|
public class J {
|
||||||
|
public static class JJ {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void javaClassMember() {
|
public void javaClassMember() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package foo;
|
||||||
|
|
||||||
|
public class JConstr {
|
||||||
|
public JConstr(int n) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
+4
-1
@@ -1,4 +1,7 @@
|
|||||||
package foo
|
package foo
|
||||||
|
|
||||||
class X
|
class X {
|
||||||
|
class XX
|
||||||
|
}
|
||||||
|
class XConstr(n: Int)
|
||||||
|
|
||||||
|
|||||||
+4
@@ -1,6 +1,10 @@
|
|||||||
package foo;
|
package foo;
|
||||||
|
|
||||||
public class J {
|
public class J {
|
||||||
|
public static class JJ {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void javaClassMember() {
|
public void javaClassMember() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package foo;
|
||||||
|
|
||||||
|
public class JConstr {
|
||||||
|
public JConstr(int n) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
+10
-1
@@ -3,7 +3,10 @@ package foo
|
|||||||
import foo.O.objectMember2
|
import foo.O.objectMember2
|
||||||
import foo.O.objectExtensionMember2
|
import foo.O.objectExtensionMember2
|
||||||
|
|
||||||
class X
|
class X {
|
||||||
|
class XX
|
||||||
|
}
|
||||||
|
class XConstr(n: Int)
|
||||||
|
|
||||||
fun <caret>test() {
|
fun <caret>test() {
|
||||||
A().classMember()
|
A().classMember()
|
||||||
@@ -35,6 +38,12 @@ fun <caret>test() {
|
|||||||
J::javaClassMember
|
J::javaClassMember
|
||||||
J::javaClassStaticMember
|
J::javaClassStaticMember
|
||||||
::topLevel
|
::topLevel
|
||||||
|
::X
|
||||||
|
::XConstr
|
||||||
|
X::XX
|
||||||
|
::J
|
||||||
|
::JConstr
|
||||||
|
J::JJ
|
||||||
|
|
||||||
with(A()) {
|
with(A()) {
|
||||||
classMember()
|
classMember()
|
||||||
|
|||||||
+9
@@ -2,8 +2,11 @@ package bar
|
|||||||
|
|
||||||
import foo.A
|
import foo.A
|
||||||
import foo.J
|
import foo.J
|
||||||
|
import foo.JConstr
|
||||||
import foo.O
|
import foo.O
|
||||||
import foo.O.objectExtensionMember2
|
import foo.O.objectExtensionMember2
|
||||||
|
import foo.X
|
||||||
|
import foo.XConstr
|
||||||
import foo.classExtension
|
import foo.classExtension
|
||||||
import foo.companionExtension
|
import foo.companionExtension
|
||||||
import foo.objectExtension
|
import foo.objectExtension
|
||||||
@@ -39,6 +42,12 @@ fun test() {
|
|||||||
J::javaClassMember
|
J::javaClassMember
|
||||||
J::javaClassStaticMember
|
J::javaClassStaticMember
|
||||||
::topLevel
|
::topLevel
|
||||||
|
::X
|
||||||
|
::XConstr
|
||||||
|
X::XX
|
||||||
|
::J
|
||||||
|
::JConstr
|
||||||
|
J::JJ
|
||||||
|
|
||||||
with(A()) {
|
with(A()) {
|
||||||
classMember()
|
classMember()
|
||||||
|
|||||||
+4
@@ -1,6 +1,10 @@
|
|||||||
package foo;
|
package foo;
|
||||||
|
|
||||||
public class J {
|
public class J {
|
||||||
|
public static class JJ {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void javaClassMember() {
|
public void javaClassMember() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package foo;
|
||||||
|
|
||||||
|
public class JConstr {
|
||||||
|
public JConstr(int n) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
+4
-1
@@ -1,4 +1,7 @@
|
|||||||
package foo
|
package foo
|
||||||
|
|
||||||
class X
|
class X {
|
||||||
|
class XX
|
||||||
|
}
|
||||||
|
class XConstr(n: Int)
|
||||||
|
|
||||||
|
|||||||
+4
@@ -1,6 +1,10 @@
|
|||||||
package foo;
|
package foo;
|
||||||
|
|
||||||
public class J {
|
public class J {
|
||||||
|
public static class JJ {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void javaClassMember() {
|
public void javaClassMember() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package foo;
|
||||||
|
|
||||||
|
public class JConstr {
|
||||||
|
public JConstr(int n) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
+10
-1
@@ -2,7 +2,10 @@ package foo
|
|||||||
|
|
||||||
import foo.O.objectExtensionMember2
|
import foo.O.objectExtensionMember2
|
||||||
|
|
||||||
class X
|
class X {
|
||||||
|
class XX
|
||||||
|
}
|
||||||
|
class XConstr(n: Int)
|
||||||
|
|
||||||
fun <caret>test() {
|
fun <caret>test() {
|
||||||
foo.A().classMember()
|
foo.A().classMember()
|
||||||
@@ -34,6 +37,12 @@ fun <caret>test() {
|
|||||||
foo.J::javaClassMember
|
foo.J::javaClassMember
|
||||||
foo.J::javaClassStaticMember
|
foo.J::javaClassStaticMember
|
||||||
::topLevel
|
::topLevel
|
||||||
|
::X
|
||||||
|
::XConstr
|
||||||
|
X::XX
|
||||||
|
::J
|
||||||
|
::JConstr
|
||||||
|
J::JJ
|
||||||
|
|
||||||
with(foo.A()) {
|
with(foo.A()) {
|
||||||
classMember()
|
classMember()
|
||||||
|
|||||||
Reference in New Issue
Block a user