Import names from singleton but show CANNOT_IMPORT_ON_DEMAND_FROM_SINGLETON error
This commit is contained in:
@@ -32,7 +32,7 @@ class AllUnderImportsScope : JetScope {
|
||||
if (descriptor is PackageViewDescriptor) {
|
||||
scopes.add(NoSubpackagesInPackageScope(descriptor))
|
||||
}
|
||||
else if (descriptor is ClassDescriptor && ImportDirectiveProcessor.canAllUnderImportFromClass(descriptor)) {
|
||||
else if (descriptor is ClassDescriptor) {
|
||||
scopes.add(descriptor.getStaticScope())
|
||||
scopes.add(descriptor.getUnsubstitutedInnerClassesScope())
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
// FILE: a.kt
|
||||
package a
|
||||
|
||||
object O {
|
||||
class A
|
||||
object B
|
||||
|
||||
fun bar() {}
|
||||
}
|
||||
|
||||
// FILE: b.kt
|
||||
package b
|
||||
|
||||
import a.<!CANNOT_IMPORT_ON_DEMAND_FROM_SINGLETON!>O<!>.*
|
||||
|
||||
fun test() {
|
||||
A()
|
||||
B
|
||||
<!UNRESOLVED_REFERENCE!>bar<!>()
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package
|
||||
|
||||
package a {
|
||||
|
||||
public object O {
|
||||
private constructor O()
|
||||
public final fun bar(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
public final class A {
|
||||
public constructor A()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public object B {
|
||||
private constructor B()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
package b {
|
||||
public fun test(): kotlin.Unit
|
||||
}
|
||||
+1
-1
@@ -6,7 +6,7 @@ import c.<!CANNOT_IMPORT_ON_DEMAND_FROM_SINGLETON!>M<!>.*
|
||||
|
||||
fun foo() {
|
||||
val <!UNUSED_VARIABLE!>b<!>: B = B()
|
||||
var <!UNUSED_VARIABLE!>r<!>: <!UNRESOLVED_REFERENCE!>R<!> = <!UNRESOLVED_REFERENCE!>R<!>()
|
||||
var <!UNUSED_VARIABLE!>r<!>: R = R()
|
||||
}
|
||||
|
||||
class A() {
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ val y: T = Y
|
||||
fun f() {
|
||||
<!UNRESOLVED_REFERENCE!>bar<!>()
|
||||
R.bar()
|
||||
<!UNRESOLVED_REFERENCE!>B<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>foo<!>()
|
||||
B.foo()
|
||||
}
|
||||
|
||||
object M {
|
||||
|
||||
@@ -6537,6 +6537,12 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("ImportFromObject.kt")
|
||||
public void testImportFromObject() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/imports/ImportFromObject.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("ImportFromRootPackage.kt")
|
||||
public void testImportFromRootPackage() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/imports/ImportFromRootPackage.kt");
|
||||
|
||||
Reference in New Issue
Block a user