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 {
|
||||
if (it.receiverExpression != null) return ReferenceKind.IRRELEVANT
|
||||
if (referencedElement is KtDeclaration && referencedElement.parent is KtFile) return ReferenceKind.UNQUALIFIABLE
|
||||
if (referencedElement is PsiMember && referencedElement.getContainingClass() == null) return ReferenceKind.UNQUALIFIABLE
|
||||
}
|
||||
|
||||
return ReferenceKind.QUALIFIABLE
|
||||
|
||||
+9
@@ -2,8 +2,11 @@ package baz
|
||||
|
||||
import foo.A
|
||||
import foo.J
|
||||
import foo.JConstr
|
||||
import foo.O
|
||||
import foo.O.objectExtensionMember2
|
||||
import foo.Y
|
||||
import foo.YConstr
|
||||
import foo.classExtension
|
||||
import foo.companionExtension
|
||||
import foo.objectExtension
|
||||
@@ -39,6 +42,12 @@ fun test() {
|
||||
J::javaClassMember
|
||||
J::javaClassStaticMember
|
||||
::topLevel
|
||||
::Y
|
||||
::YConstr
|
||||
Y::YY
|
||||
::J
|
||||
::JConstr
|
||||
J::JJ
|
||||
|
||||
with(A()) {
|
||||
classMember()
|
||||
|
||||
+4
@@ -1,6 +1,10 @@
|
||||
package foo;
|
||||
|
||||
public class J {
|
||||
public static class JJ {
|
||||
|
||||
}
|
||||
|
||||
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::javaClassStaticMember
|
||||
::topLevel
|
||||
::Y
|
||||
::YConstr
|
||||
Y::YY
|
||||
::J
|
||||
::JConstr
|
||||
J::JJ
|
||||
|
||||
with(A()) {
|
||||
classMember()
|
||||
|
||||
+4
@@ -1,6 +1,10 @@
|
||||
package foo;
|
||||
|
||||
public class J {
|
||||
public static class JJ {
|
||||
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
public class J {
|
||||
public static class JJ {
|
||||
|
||||
}
|
||||
|
||||
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::javaClassStaticMember
|
||||
::topLevel
|
||||
::Y
|
||||
::YConstr
|
||||
Y::YY
|
||||
::J
|
||||
::JConstr
|
||||
J::JJ
|
||||
|
||||
with(A()) {
|
||||
classMember()
|
||||
|
||||
+6
@@ -36,6 +36,12 @@ fun <caret>test() {
|
||||
J::javaClassMember
|
||||
J::javaClassStaticMember
|
||||
::topLevel
|
||||
::Y
|
||||
::YConstr
|
||||
Y::YY
|
||||
::J
|
||||
::JConstr
|
||||
J::JJ
|
||||
|
||||
with(A()) {
|
||||
classMember()
|
||||
|
||||
+4
@@ -1,6 +1,10 @@
|
||||
package foo;
|
||||
|
||||
public class J {
|
||||
public static class JJ {
|
||||
|
||||
}
|
||||
|
||||
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.J
|
||||
import foo.JConstr
|
||||
import foo.O
|
||||
import foo.O.objectExtensionMember2
|
||||
import foo.X
|
||||
import foo.XConstr
|
||||
import foo.classExtension
|
||||
import foo.companionExtension
|
||||
import foo.objectExtension
|
||||
@@ -39,6 +42,12 @@ fun test() {
|
||||
J::javaClassMember
|
||||
J::javaClassStaticMember
|
||||
::topLevel
|
||||
::X
|
||||
::XConstr
|
||||
X::XX
|
||||
::J
|
||||
::JConstr
|
||||
J::JJ
|
||||
|
||||
with(A()) {
|
||||
classMember()
|
||||
|
||||
+4
@@ -1,6 +1,10 @@
|
||||
package foo;
|
||||
|
||||
public class J {
|
||||
public static class JJ {
|
||||
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
class X
|
||||
class X {
|
||||
class XX
|
||||
}
|
||||
class XConstr(n: Int)
|
||||
|
||||
|
||||
+4
@@ -1,6 +1,10 @@
|
||||
package foo;
|
||||
|
||||
public class J {
|
||||
public static class JJ {
|
||||
|
||||
}
|
||||
|
||||
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.objectExtensionMember2
|
||||
|
||||
class X
|
||||
class X {
|
||||
class XX
|
||||
}
|
||||
class XConstr(n: Int)
|
||||
|
||||
fun <caret>test() {
|
||||
A().classMember()
|
||||
@@ -35,6 +38,12 @@ fun <caret>test() {
|
||||
J::javaClassMember
|
||||
J::javaClassStaticMember
|
||||
::topLevel
|
||||
::X
|
||||
::XConstr
|
||||
X::XX
|
||||
::J
|
||||
::JConstr
|
||||
J::JJ
|
||||
|
||||
with(A()) {
|
||||
classMember()
|
||||
|
||||
+9
@@ -2,8 +2,11 @@ package bar
|
||||
|
||||
import foo.A
|
||||
import foo.J
|
||||
import foo.JConstr
|
||||
import foo.O
|
||||
import foo.O.objectExtensionMember2
|
||||
import foo.X
|
||||
import foo.XConstr
|
||||
import foo.classExtension
|
||||
import foo.companionExtension
|
||||
import foo.objectExtension
|
||||
@@ -39,6 +42,12 @@ fun test() {
|
||||
J::javaClassMember
|
||||
J::javaClassStaticMember
|
||||
::topLevel
|
||||
::X
|
||||
::XConstr
|
||||
X::XX
|
||||
::J
|
||||
::JConstr
|
||||
J::JJ
|
||||
|
||||
with(A()) {
|
||||
classMember()
|
||||
|
||||
+4
@@ -1,6 +1,10 @@
|
||||
package foo;
|
||||
|
||||
public class J {
|
||||
public static class JJ {
|
||||
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
class X
|
||||
class X {
|
||||
class XX
|
||||
}
|
||||
class XConstr(n: Int)
|
||||
|
||||
|
||||
+4
@@ -1,6 +1,10 @@
|
||||
package foo;
|
||||
|
||||
public class J {
|
||||
public static class JJ {
|
||||
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
class X
|
||||
class X {
|
||||
class XX
|
||||
}
|
||||
class XConstr(n: Int)
|
||||
|
||||
fun <caret>test() {
|
||||
foo.A().classMember()
|
||||
@@ -34,6 +37,12 @@ fun <caret>test() {
|
||||
foo.J::javaClassMember
|
||||
foo.J::javaClassStaticMember
|
||||
::topLevel
|
||||
::X
|
||||
::XConstr
|
||||
X::XX
|
||||
::J
|
||||
::JConstr
|
||||
J::JJ
|
||||
|
||||
with(foo.A()) {
|
||||
classMember()
|
||||
|
||||
Reference in New Issue
Block a user