KTIJ-26785 [AA] Filter JavaClassMembersEnhancementScope when shortening types
The same way as `FirClassUseSiteMemberScope` is present when there is an implicit receiver with a pure Kotlin type, `JavaClassMembersEnhancementScope` is present when the receiver's type comes from Java sources ^KTIJ-26785 Fixed
This commit is contained in:
+15
@@ -0,0 +1,15 @@
|
||||
// FILE: main.kt
|
||||
package test
|
||||
|
||||
import dependency.JavaInterface
|
||||
|
||||
class Foo : JavaInterface {
|
||||
<expr>val prop: JavaInterface.Nested = JavaInterface.Nested()</expr>
|
||||
}
|
||||
|
||||
// FILE: dependency/JavaInterface.java
|
||||
package dependency;
|
||||
|
||||
public interface JavaInterface {
|
||||
public class Nested {}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
Before shortening: val prop: JavaInterface.Nested = JavaInterface.Nested()
|
||||
with DO_NOT_SHORTEN:
|
||||
with SHORTEN_IF_ALREADY_IMPORTED:
|
||||
with SHORTEN_AND_IMPORT:
|
||||
[type] JavaInterface.Nested
|
||||
[qualifier] JavaInterface.Nested()
|
||||
with SHORTEN_AND_STAR_IMPORT:
|
||||
[type] JavaInterface.Nested
|
||||
[qualifier] JavaInterface.Nested()
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
// FILE: main.kt
|
||||
package test
|
||||
|
||||
import dependency.JavaInterface
|
||||
import dependency.JavaInterface.Nested
|
||||
|
||||
class Foo : JavaInterface {
|
||||
<expr>val prop: JavaInterface.Nested = JavaInterface.Nested()</expr>
|
||||
}
|
||||
|
||||
// FILE: dependency/JavaInterface.java
|
||||
package dependency;
|
||||
|
||||
public interface JavaInterface {
|
||||
public class Nested {}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
Before shortening: val prop: JavaInterface.Nested = JavaInterface.Nested()
|
||||
with DO_NOT_SHORTEN:
|
||||
with SHORTEN_IF_ALREADY_IMPORTED:
|
||||
[type] JavaInterface.Nested
|
||||
[qualifier] JavaInterface.Nested()
|
||||
with SHORTEN_AND_IMPORT:
|
||||
[type] JavaInterface.Nested
|
||||
[qualifier] JavaInterface.Nested()
|
||||
with SHORTEN_AND_STAR_IMPORT:
|
||||
[type] JavaInterface.Nested
|
||||
[qualifier] JavaInterface.Nested()
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
// FILE: main.kt
|
||||
package test
|
||||
|
||||
import dependency.JavaBaseClass
|
||||
|
||||
class Foo : JavaBaseClass() {
|
||||
<expr>val prop: JavaBaseClass.Nested = JavaBaseClass.Nested()</expr>
|
||||
}
|
||||
|
||||
// FILE: dependency/JavaBaseClass.java
|
||||
package dependency;
|
||||
|
||||
public class JavaBaseClass {
|
||||
public static class Nested {}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
Before shortening: val prop: JavaBaseClass.Nested = JavaBaseClass.Nested()
|
||||
with DO_NOT_SHORTEN:
|
||||
with SHORTEN_IF_ALREADY_IMPORTED:
|
||||
[type] JavaBaseClass.Nested
|
||||
[qualifier] JavaBaseClass.Nested()
|
||||
with SHORTEN_AND_IMPORT:
|
||||
[type] JavaBaseClass.Nested
|
||||
[qualifier] JavaBaseClass.Nested()
|
||||
with SHORTEN_AND_STAR_IMPORT:
|
||||
[type] JavaBaseClass.Nested
|
||||
[qualifier] JavaBaseClass.Nested()
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
// FILE: main.kt
|
||||
package test
|
||||
|
||||
import dependency.JavaInterface
|
||||
|
||||
fun JavaInterface.foo() {
|
||||
<expr>val prop: JavaInterface.Nested = JavaInterface.Nested()</expr>
|
||||
}
|
||||
|
||||
// FILE: dependency/JavaInterface.java
|
||||
package dependency;
|
||||
|
||||
public interface JavaInterface {
|
||||
public class Nested {}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
Before shortening: val prop: JavaInterface.Nested = JavaInterface.Nested()
|
||||
with DO_NOT_SHORTEN:
|
||||
with SHORTEN_IF_ALREADY_IMPORTED:
|
||||
with SHORTEN_AND_IMPORT:
|
||||
[type] JavaInterface.Nested
|
||||
[qualifier] JavaInterface.Nested()
|
||||
with SHORTEN_AND_STAR_IMPORT:
|
||||
[type] JavaInterface.Nested
|
||||
[qualifier] JavaInterface.Nested()
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
// FILE: main.kt
|
||||
package test
|
||||
|
||||
import dependency.JavaBaseClass
|
||||
|
||||
fun JavaBaseClass.foo() {
|
||||
<expr>val prop: JavaBaseClass.Nested = JavaBaseClass.Nested()</expr>
|
||||
}
|
||||
|
||||
// FILE: dependency/JavaBaseClass.java
|
||||
package dependency;
|
||||
|
||||
public class JavaBaseClass {
|
||||
public static class Nested {}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
Before shortening: val prop: JavaBaseClass.Nested = JavaBaseClass.Nested()
|
||||
with DO_NOT_SHORTEN:
|
||||
with SHORTEN_IF_ALREADY_IMPORTED:
|
||||
with SHORTEN_AND_IMPORT:
|
||||
[type] JavaBaseClass.Nested
|
||||
[qualifier] JavaBaseClass.Nested()
|
||||
with SHORTEN_AND_STAR_IMPORT:
|
||||
[type] JavaBaseClass.Nested
|
||||
[qualifier] JavaBaseClass.Nested()
|
||||
Reference in New Issue
Block a user