Introduce Type Alias: Fix replacement of references to nested classes

#KT-15159 Fixed
This commit is contained in:
Alexey Sedunov
2018-05-31 15:39:43 +03:00
parent 3902e1b51d
commit eea9113d1c
6 changed files with 105 additions and 4 deletions
@@ -0,0 +1,19 @@
// NAME: Aliased
open class Outer{
open class Middle {
open class Nested
}
}
fun f2(){
val o3 = Outer.Middle.Nested() // (1)
}
val g3: <caret>Outer.Middle.Nested = Outer.Middle.Nested() //(2)
fun f3(p: Outer.Middle.Nested): Outer.Middle.Nested = p
class Outer3 : Outer.Middle.Nested()
class Outer2 {
class Nested2 : Outer.Middle.Nested()
}
@@ -0,0 +1,22 @@
// NAME: Aliased
open class Outer{
open class Middle {
open class Nested
}
}
fun f2(){
val o3 = Aliased() // (1)
}
typealias Aliased = Outer.Middle.Nested
val g3: Aliased = Aliased() //(2)
fun f3(p: Aliased): Aliased = p
class Outer3 : Aliased()
class Outer2 {
class Nested2 : Aliased()
}
@@ -0,0 +1,17 @@
// NAME: Aliased
open class Outer{
open class Nested
}
fun f2(){
val o3 = Outer.Nested() // (1)
}
val g3: <caret>Outer.Nested = Outer.Nested() //(2)
fun f3(p: Outer.Nested): Outer.Nested = p
class Outer3 : Outer.Nested()
class Outer2 {
class Nested2 : Outer.Nested()
}
@@ -0,0 +1,20 @@
// NAME: Aliased
open class Outer{
open class Nested
}
fun f2(){
val o3 = Aliased() // (1)
}
typealias Aliased = Outer.Nested
val g3: Aliased = Aliased() //(2)
fun f3(p: Aliased): Aliased = p
class Outer3 : Aliased()
class Outer2 {
class Nested2 : Aliased()
}