Can't omit default object name in imports and types

There should be only one way to denote a type (A.Default.B can't be denoted as A.B)
This commit is contained in:
Pavel V. Talanov
2015-02-16 17:45:23 +03:00
parent 640d2de5b9
commit cceb5738c8
17 changed files with 27 additions and 35 deletions
@@ -1,6 +1,6 @@
package f
import f.A.B
import f.A.Default.B
class A {
class object {
@@ -5,12 +5,12 @@ import b.B //class
import b.foo //function
import b.ext //extension function
import b.value //property
import b.C.<!CANNOT_BE_IMPORTED!>bar<!> //function from class object
import b.C.<!CANNOT_BE_IMPORTED!>cValue<!> //property from class object
import b.C.Default.<!CANNOT_BE_IMPORTED!>bar<!> //function from class object
import b.C.Default.<!CANNOT_BE_IMPORTED!>cValue<!> //property from class object
import b.<!CANNOT_IMPORT_FROM_ELEMENT!>constant<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>fff<!> //function from val
import b.<!CANNOT_IMPORT_FROM_ELEMENT!>constant<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>dValue<!> //property from val
import b.constant
import b.E.<!CANNOT_BE_IMPORTED!>f<!> //val from class object
import b.E.Default.<!CANNOT_BE_IMPORTED!>f<!> //val from class object
import <!UNRESOLVED_REFERENCE!>smth<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>illegal<!>
import b.C.<!UNRESOLVED_REFERENCE!>smth<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>illegal<!>
import b.<!CANNOT_IMPORT_FROM_ELEMENT!>bar<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>smth<!>
@@ -85,8 +85,8 @@ fun foo() {
//FILE:d.kt
package d
import d.A.B
import d.A.C
import d.A.Default.B
import d.A.Default.C
val b : B = B()
val c : B = C
@@ -21,10 +21,10 @@ public class M1 {
public val a: A = A()
public val b: A.B = A.B()
public val c: A.C = A.C
public val d: A.D = A.D()
public val e: A.D.E = A.D.E
public val d: A.Default.D = A.D()
public val e: A.Default.D.E = A.D.E
public val f: A.F = A().F()
public val g: A.G = A.G()
public val g: A.Default.G = A.G()
}
// MODULE: m2
@@ -47,8 +47,8 @@ public class A {
public fun a(p: A) {}
public fun b(p: A.B) {}
public fun c(p: A.C) {}
public fun d(p: A.D) {}
public fun e(p: A.D.E) {}
public fun d(p: A.Default.D) {}
public fun e(p: A.Default.D.E) {}
public fun f(p: A.F) {}
public fun g(p: A.G) {}
@@ -10,6 +10,6 @@ class Foo {
}
class User {
fun main() : Unit {
var <!UNUSED_VARIABLE!>boo<!> : Foo.Bar? /* <-- this reference is red */ = Foo.Bar()
var <!UNUSED_VARIABLE!>boo<!> : Foo.Default.Bar? /* <-- this reference is red */ = Foo.Default.Bar()
}
}
@@ -1,7 +1,7 @@
// import all members from class object
package c
import c.A.*
import c.A.Default.B
import c.<!CANNOT_IMPORT_ON_DEMAND_FROM_SINGLETON!>M<!>.*
fun foo() {
@@ -36,8 +36,8 @@ object N {
package b
import b.N.M
import b.A.P
import b.A.B
import b.A.Default.P
import b.A.Default.B
fun foo() {
val <!UNUSED_VARIABLE!>b<!> : B = B()