Do not use incorrect import

This commit is contained in:
Valentin Kipyatkov
2016-01-13 18:51:31 +03:00
parent 866f3f189f
commit 47041885ca
5 changed files with 9 additions and 6 deletions
@@ -150,9 +150,12 @@ class QualifiedExpressionResolver(val symbolUsageValidator: SymbolUsageValidator
if (importDirective.isAllUnder) {
val packageOrClassDescriptor = resolveToPackageOrClass(path, moduleDescriptor, trace, packageFragmentForCheck,
scopeForFirstPart = null, position = QualifierPosition.IMPORT) ?: return null
if (packageOrClassDescriptor is ClassDescriptor && packageOrClassDescriptor.kind.isSingleton) {
trace.report(Errors.CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON.on(lastPart.expression, packageOrClassDescriptor)) // todo report on star
return null
}
return AllUnderImportScope(packageOrClassDescriptor)
}
else {
@@ -63,8 +63,8 @@ package b
import a.C1.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>O<!>.*
fun testErroneusAllUnderImportFromObject() {
A()
B
<!UNRESOLVED_REFERENCE!>A<!>()
<!UNRESOLVED_REFERENCE!>B<!>
<!UNRESOLVED_REFERENCE!>bar<!>()
}
@@ -57,8 +57,8 @@ package b
import a.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>O<!>.*
fun testErroneusAllUnderImportFromObject() {
A()
B
<!UNRESOLVED_REFERENCE!>A<!>()
<!UNRESOLVED_REFERENCE!>B<!>
<!UNRESOLVED_REFERENCE!>bar<!>()
}
+1 -1
View File
@@ -6,7 +6,7 @@ import c.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>M<!>.*
fun foo() {
val <!UNUSED_VARIABLE!>b<!>: B = B()
var <!UNUSED_VARIABLE!>r<!>: R = R()
var <!UNUSED_VARIABLE!>r<!>: <!UNRESOLVED_REFERENCE!>R<!> = <!UNRESOLVED_REFERENCE!>R<!>()
}
class A() {
+1 -1
View File
@@ -14,7 +14,7 @@ val y: T = Y
fun f() {
bar()
R.bar()
B.foo()
<!UNRESOLVED_REFERENCE!>B<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>foo<!>()
}
object M {