Labeled this & super to nested class' outer is an error
#KT-1174 In Progress
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
trait Trait {
|
||||
fun bar() = 42
|
||||
}
|
||||
|
||||
class Outer : Trait {
|
||||
class Nested {
|
||||
val t = this<!INACCESSIBLE_OUTER_CLASS_EXPRESSION!>@Outer<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>bar<!>()
|
||||
val s = super<!INACCESSIBLE_OUTER_CLASS_EXPRESSION!>@Outer<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>bar<!>()
|
||||
|
||||
inner class NestedInner {
|
||||
val t = this<!INACCESSIBLE_OUTER_CLASS_EXPRESSION!>@Outer<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>bar<!>()
|
||||
val s = super<!INACCESSIBLE_OUTER_CLASS_EXPRESSION!>@Outer<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>bar<!>()
|
||||
}
|
||||
}
|
||||
|
||||
inner class Inner {
|
||||
val t = this@Outer.bar()
|
||||
val s = super@Outer.bar()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
trait Trait {
|
||||
fun bar() = 42
|
||||
}
|
||||
|
||||
class Outer : Trait {
|
||||
fun foo() {
|
||||
val <!UNUSED_VARIABLE!>t<!> = this@Outer
|
||||
val <!UNUSED_VARIABLE!>s<!> = super@Outer.bar()
|
||||
|
||||
class Local : Trait {
|
||||
val t = this@Outer
|
||||
val s = super@Outer.bar()
|
||||
|
||||
inner class Inner {
|
||||
val t = this@Local
|
||||
val s = super@Local.bar()
|
||||
|
||||
val tt = this@Outer
|
||||
val ss = super@Outer.bar()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,15 +5,21 @@ class Outer {
|
||||
class Nested {
|
||||
fun f() = <!INACCESSIBLE_OUTER_CLASS_EXPRESSION!>function()<!>
|
||||
fun g() = <!INACCESSIBLE_OUTER_CLASS_EXPRESSION!>property<!>
|
||||
fun h() = this<!INACCESSIBLE_OUTER_CLASS_EXPRESSION!>@Outer<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>function<!>()
|
||||
fun i() = this<!INACCESSIBLE_OUTER_CLASS_EXPRESSION!>@Outer<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>property<!>
|
||||
}
|
||||
|
||||
inner class Inner {
|
||||
fun innerFun() = function()
|
||||
val innerProp = property
|
||||
fun innerThisFun() = this@Outer.function()
|
||||
val innerThisProp = this@Outer.property
|
||||
|
||||
inner class InnerInner {
|
||||
fun f() = innerFun()
|
||||
fun g() = innerProp
|
||||
fun h() = this@Inner.innerFun()
|
||||
fun i() = this@Inner.innerProp
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user