New tests for outer class info
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
package foo;
|
||||
|
||||
class Foo {
|
||||
|
||||
inline fun inlineFoo(s: () -> Unit) {
|
||||
{
|
||||
s()
|
||||
}()
|
||||
}
|
||||
|
||||
inline fun simpleFoo(s: () -> Unit) {
|
||||
s()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class Bar {
|
||||
fun callToInline() {
|
||||
Foo().inlineFoo { 1 }
|
||||
}
|
||||
|
||||
fun objectInInlineLambda() {
|
||||
val s = 1;
|
||||
Foo().simpleFoo {
|
||||
{
|
||||
s
|
||||
}()
|
||||
}
|
||||
}
|
||||
|
||||
fun objectInLambdaInlinedIntoObject() {
|
||||
val s = 1;
|
||||
Foo().inlineFoo {
|
||||
{
|
||||
s
|
||||
}()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package foo;
|
||||
|
||||
class Foo {
|
||||
|
||||
inline fun inlineFoo(s: () -> Unit) {
|
||||
val localObject = object {
|
||||
fun run() {
|
||||
s()
|
||||
}
|
||||
}
|
||||
|
||||
localObject.run()
|
||||
}
|
||||
|
||||
inline fun simpleFoo(s: () -> Unit) {
|
||||
s()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class Bar {
|
||||
fun callToInline() {
|
||||
Foo().inlineFoo { 1 }
|
||||
}
|
||||
|
||||
fun objectInInlineLambda() {
|
||||
val s = 1;
|
||||
Foo().simpleFoo {
|
||||
val localObject = object {
|
||||
fun run() { s }
|
||||
}
|
||||
|
||||
localObject.run()
|
||||
}
|
||||
}
|
||||
|
||||
fun objectInLambdaInlinedIntoObject() {
|
||||
val s = 1;
|
||||
Foo().inlineFoo {
|
||||
val localObject = object {
|
||||
fun run() { s }
|
||||
}
|
||||
|
||||
localObject.run()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -20,6 +20,16 @@ class Foo {
|
||||
void objectLiteralFoo() { }
|
||||
};
|
||||
|
||||
//anonymous lambda
|
||||
Foo() {
|
||||
class LambdaInConstructor{}
|
||||
}
|
||||
|
||||
|
||||
void foo() {
|
||||
//lambda
|
||||
class Lambda {}
|
||||
}
|
||||
}
|
||||
|
||||
class PackageInnerObject { }
|
||||
|
||||
@@ -18,6 +18,14 @@ class Foo {
|
||||
val objectLiteral = object {
|
||||
fun objectLiteralFoo() { }
|
||||
}
|
||||
|
||||
//anonymous lambda in constructor
|
||||
val s = { 11 }()
|
||||
|
||||
fun foo() {
|
||||
//anonymous lambda
|
||||
{ }()
|
||||
}
|
||||
}
|
||||
|
||||
object PackageInnerObject {
|
||||
|
||||
Reference in New Issue
Block a user