[Analysis API] Migrate existing code fragment tests to the new API
This commit is contained in:
-1
@@ -1 +0,0 @@
|
||||
foo
|
||||
+13
-2
@@ -1,3 +1,8 @@
|
||||
// LANGUAGE: +ContextReceivers
|
||||
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test() {
|
||||
with(Foo()) {
|
||||
call()
|
||||
@@ -6,11 +11,17 @@ fun test() {
|
||||
|
||||
context(Foo)
|
||||
fun call() {
|
||||
<caret>val x = 0
|
||||
<caret_context>val x = 0
|
||||
}
|
||||
|
||||
class Foo {
|
||||
val foo: String = "foo"
|
||||
}
|
||||
|
||||
// LANGUAGE: +ContextReceivers
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
foo
|
||||
-1
@@ -1 +0,0 @@
|
||||
this@Foo.foo
|
||||
+13
-2
@@ -1,3 +1,8 @@
|
||||
// LANGUAGE: +ContextReceivers
|
||||
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test() {
|
||||
with(Foo()) {
|
||||
call()
|
||||
@@ -6,11 +11,17 @@ fun test() {
|
||||
|
||||
context(Foo)
|
||||
fun call() {
|
||||
<caret>val x = 0
|
||||
<caret_context>val x = 0
|
||||
}
|
||||
|
||||
class Foo {
|
||||
val foo: String = "foo"
|
||||
}
|
||||
|
||||
// LANGUAGE: +ContextReceivers
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
this@Foo.foo
|
||||
-1
@@ -1 +0,0 @@
|
||||
length + foo.length
|
||||
+12
-2
@@ -1,11 +1,21 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test() {
|
||||
with("Hello, world!") {
|
||||
with(Foo()) {
|
||||
<caret>val x = 0
|
||||
<caret_context>val x = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class Foo {
|
||||
val foo: String = "foo"
|
||||
}
|
||||
}
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
length + foo.length
|
||||
-1
@@ -1 +0,0 @@
|
||||
this@with.length
|
||||
+13
-2
@@ -1,5 +1,16 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test() {
|
||||
with("Hello, world!") {
|
||||
<caret>val x = 0
|
||||
<caret_context>val x = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
this@with.length
|
||||
-1
@@ -1 +0,0 @@
|
||||
this@str.length
|
||||
+13
-2
@@ -1,5 +1,16 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test() {
|
||||
with("Hello, world!") str@{
|
||||
<caret>val x = 0
|
||||
<caret_context>val x = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
this@str.length
|
||||
-1
@@ -1 +0,0 @@
|
||||
dec()
|
||||
+13
-2
@@ -1,8 +1,19 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test() {
|
||||
1.ext
|
||||
}
|
||||
|
||||
val Int.ext: String
|
||||
get() {
|
||||
<caret>return "foo"
|
||||
}
|
||||
<caret_context>return "foo"
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
dec()
|
||||
-1
@@ -1 +0,0 @@
|
||||
this.dec()
|
||||
+13
-2
@@ -1,8 +1,19 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test() {
|
||||
1.ext
|
||||
}
|
||||
|
||||
val Int.ext: String
|
||||
get() {
|
||||
<caret>return "foo"
|
||||
}
|
||||
<caret_context>return "foo"
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
this.dec()
|
||||
-1
@@ -1 +0,0 @@
|
||||
this@ext.dec()
|
||||
+13
-2
@@ -1,8 +1,19 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test() {
|
||||
1.ext
|
||||
}
|
||||
|
||||
val Int.ext: String
|
||||
get() {
|
||||
<caret>return "foo"
|
||||
}
|
||||
<caret_context>return "foo"
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
this@ext.dec()
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
this as FooImpl
|
||||
n
|
||||
+14
-2
@@ -1,3 +1,6 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
interface Foo
|
||||
|
||||
class FooImpl : Foo {
|
||||
@@ -8,6 +11,15 @@ fun makeFoo(): Foo = FooImpl()
|
||||
|
||||
fun main() {
|
||||
makeFoo().apply {
|
||||
<caret>Unit
|
||||
<caret_context>Unit
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: BLOCK
|
||||
this as FooImpl
|
||||
n
|
||||
-1
@@ -1 +0,0 @@
|
||||
a + b.length
|
||||
+13
-2
@@ -1,5 +1,16 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
class Foo(a: Int, b: String) {
|
||||
init {
|
||||
<caret>val x = 0
|
||||
<caret_context>val x = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
a + b.length
|
||||
-1
@@ -1 +0,0 @@
|
||||
x
|
||||
+13
-2
@@ -1,4 +1,15 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test() {
|
||||
val x = 0
|
||||
<caret>val y = 0
|
||||
}
|
||||
<caret_context>val y = 0
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
x
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
x = "O"
|
||||
x + "K"
|
||||
+13
-1
@@ -1,3 +1,6 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
class Delegate(private var value: String) {
|
||||
@@ -12,5 +15,14 @@ class Delegate(private var value: String) {
|
||||
|
||||
fun test() {
|
||||
var x by Delegate("a")
|
||||
<caret>x
|
||||
<caret_context>x
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: BLOCK
|
||||
x = "O"
|
||||
x + "K"
|
||||
-1
@@ -1 +0,0 @@
|
||||
call(x, y)
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
MODULE_FRAGMENT
|
||||
FILE fqName:<root> fileName:localFunction.kt
|
||||
FILE fqName:<root> fileName:context.kt
|
||||
FUN name:call visibility:local modality:FINAL <> (a:kotlin.Int, b:kotlin.String) returnType:kotlin.Unit
|
||||
VALUE_PARAMETER name:a index:0 type:kotlin.Int
|
||||
VALUE_PARAMETER name:b index:1 type:kotlin.String
|
||||
|
||||
+13
-2
@@ -1,3 +1,6 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test() {
|
||||
fun call(a: Int, b: String) {
|
||||
println(b.repeat(a))
|
||||
@@ -5,5 +8,13 @@ fun test() {
|
||||
|
||||
val x = 2
|
||||
val y = "foo"
|
||||
<caret>val z = Unit
|
||||
}
|
||||
<caret_context>val z = Unit
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
call(x, y)
|
||||
+1
-1
@@ -4,4 +4,4 @@ public final class CodeFragment {
|
||||
public final static method run(p0: int, p1: java.lang.String): void
|
||||
}
|
||||
|
||||
public final class LocalFunctionKt
|
||||
public final class ContextKt
|
||||
|
||||
-1
@@ -1 +0,0 @@
|
||||
call()
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
MODULE_FRAGMENT
|
||||
FILE fqName:<root> fileName:localFunctionContainingClassClosure.kt
|
||||
FILE fqName:<root> fileName:context.kt
|
||||
CLASS CLASS name:Foo modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Foo
|
||||
CONSTRUCTOR visibility:public <> () returnType:<root>.Foo [primary]
|
||||
|
||||
+13
-2
@@ -1,11 +1,22 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
class Foo {
|
||||
fun test() {
|
||||
fun call() {
|
||||
consume(this@Foo)
|
||||
}
|
||||
|
||||
<caret>call()
|
||||
<caret_context>call()
|
||||
}
|
||||
}
|
||||
|
||||
fun consume(obj: Foo) {}
|
||||
fun consume(obj: Foo) {}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
call()
|
||||
+3
-3
@@ -4,11 +4,11 @@ public final class CodeFragment {
|
||||
public final static method run(p0: Foo): void
|
||||
}
|
||||
|
||||
public final class ContextKt
|
||||
|
||||
public final class Foo {
|
||||
// source: 'localFunctionContainingClassClosure.kt'
|
||||
// source: 'context.kt'
|
||||
public method <init>(): void
|
||||
private final static method test$call(p0: Foo): void
|
||||
public final method test(): void
|
||||
}
|
||||
|
||||
public final class LocalFunctionContainingClassClosureKt
|
||||
|
||||
-1
@@ -1 +0,0 @@
|
||||
call()
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
MODULE_FRAGMENT
|
||||
FILE fqName:<root> fileName:localFunctionExtensionReceiverClosure.kt
|
||||
FILE fqName:<root> fileName:context.kt
|
||||
FUN name:block visibility:public modality:FINAL <T> (obj:T of <root>.block, block:@[ExtensionFunctionType] kotlin.Function1<T of <root>.block, kotlin.Unit>) returnType:kotlin.Unit
|
||||
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
|
||||
VALUE_PARAMETER name:obj index:0 type:T of <root>.block
|
||||
|
||||
+13
-2
@@ -1,10 +1,13 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test() {
|
||||
block("foo") {
|
||||
fun call() {
|
||||
consume(this@block)
|
||||
}
|
||||
|
||||
<caret>call()
|
||||
<caret_context>call()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,4 +15,12 @@ fun <T> block(obj: T, block: T.() -> Unit) {
|
||||
obj.block()
|
||||
}
|
||||
|
||||
fun consume(text: String) {}
|
||||
fun consume(text: String) {}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
call()
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
public final class CodeFragment {
|
||||
// source: 'fragment.kt'
|
||||
inner (anonymous) class LocalFunctionExtensionReceiverClosureKt$test$1
|
||||
inner (anonymous) class ContextKt$test$1
|
||||
public method <init>(): void
|
||||
public final static method run(p0: java.lang.String): void
|
||||
}
|
||||
|
||||
public final class LocalFunctionExtensionReceiverClosureKt
|
||||
public final class ContextKt
|
||||
|
||||
-1
@@ -1 +0,0 @@
|
||||
call()
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
MODULE_FRAGMENT
|
||||
FILE fqName:<root> fileName:localFunctionLambdaParameterClosure.kt
|
||||
FILE fqName:<root> fileName:context.kt
|
||||
FUN name:block visibility:public modality:FINAL <T> (obj:T of <root>.block, block:kotlin.Function1<T of <root>.block, kotlin.Unit>) returnType:kotlin.Unit
|
||||
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
|
||||
VALUE_PARAMETER name:obj index:0 type:T of <root>.block
|
||||
|
||||
+13
-2
@@ -1,10 +1,13 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test() {
|
||||
block("foo") { foo ->
|
||||
fun call() {
|
||||
consume(foo)
|
||||
}
|
||||
|
||||
<caret>call()
|
||||
<caret_context>call()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,4 +15,12 @@ fun <T> block(obj: T, block: (T) -> Unit) {
|
||||
block(obj)
|
||||
}
|
||||
|
||||
fun consume(text: String) {}
|
||||
fun consume(text: String) {}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
call()
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
public final class CodeFragment {
|
||||
// source: 'fragment.kt'
|
||||
inner (anonymous) class LocalFunctionLambdaParameterClosureKt$test$1
|
||||
inner (anonymous) class ContextKt$test$1
|
||||
public method <init>(): void
|
||||
public final static method run(p0: java.lang.String): void
|
||||
}
|
||||
|
||||
public final class LocalFunctionLambdaParameterClosureKt
|
||||
public final class ContextKt
|
||||
|
||||
-1
@@ -1 +0,0 @@
|
||||
call()
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
MODULE_FRAGMENT
|
||||
FILE fqName:<root> fileName:localFunctionLocalClosure.kt
|
||||
FILE fqName:<root> fileName:context.kt
|
||||
FUN name:call visibility:local modality:FINAL <> () returnType:kotlin.Unit
|
||||
FUN name:consume visibility:public modality:FINAL <> (n:kotlin.Int) returnType:kotlin.Unit
|
||||
VALUE_PARAMETER name:n index:0 type:kotlin.Int
|
||||
|
||||
+13
-2
@@ -1,3 +1,6 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test() {
|
||||
val x = 0
|
||||
|
||||
@@ -5,7 +8,15 @@ fun test() {
|
||||
consume(x)
|
||||
}
|
||||
|
||||
<caret>call()
|
||||
<caret_context>call()
|
||||
}
|
||||
|
||||
fun consume(n: Int) {}
|
||||
fun consume(n: Int) {}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
call()
|
||||
+1
-1
@@ -4,4 +4,4 @@ public final class CodeFragment {
|
||||
public final static method run(p0: int): void
|
||||
}
|
||||
|
||||
public final class LocalFunctionLocalClosureKt
|
||||
public final class ContextKt
|
||||
|
||||
-1
@@ -1 +0,0 @@
|
||||
call()
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
MODULE_FRAGMENT
|
||||
FILE fqName:<root> fileName:localFunctionLocalClosureMutating.kt
|
||||
FILE fqName:<root> fileName:context.kt
|
||||
FUN name:call visibility:local modality:FINAL <> () returnType:kotlin.Unit
|
||||
FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
|
||||
+13
-2
@@ -1,3 +1,6 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test() {
|
||||
var x = 0
|
||||
|
||||
@@ -5,5 +8,13 @@ fun test() {
|
||||
x = 1
|
||||
}
|
||||
|
||||
<caret>call()
|
||||
}
|
||||
<caret_context>call()
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
call()
|
||||
+1
-1
@@ -5,4 +5,4 @@ public final class CodeFragment {
|
||||
public final inner class kotlin/jvm/internal/Ref$IntRef
|
||||
}
|
||||
|
||||
public final class LocalFunctionLocalClosureMutatingKt
|
||||
public final class ContextKt
|
||||
|
||||
-1
@@ -1 +0,0 @@
|
||||
call(0)
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
MODULE_FRAGMENT
|
||||
FILE fqName:<root> fileName:localFunctionMultipleCapturing.kt
|
||||
FILE fqName:<root> fileName:context.kt
|
||||
CLASS CLASS name:Foo modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Foo
|
||||
CONSTRUCTOR visibility:public <> () returnType:<root>.Foo [primary]
|
||||
|
||||
+13
-2
@@ -1,3 +1,6 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
class Foo {
|
||||
fun String.test() {
|
||||
var x: Int
|
||||
@@ -9,8 +12,16 @@ class Foo {
|
||||
x = 42
|
||||
}
|
||||
|
||||
<caret>call(1)
|
||||
<caret_context>call(1)
|
||||
}
|
||||
}
|
||||
|
||||
fun consume(obj: Any) {}
|
||||
fun consume(obj: Any) {}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
call(0)
|
||||
+3
-3
@@ -5,12 +5,12 @@ public final class CodeFragment {
|
||||
public final inner class kotlin/jvm/internal/Ref$IntRef
|
||||
}
|
||||
|
||||
public final class ContextKt
|
||||
|
||||
public final class Foo {
|
||||
// source: 'localFunctionMultipleCapturing.kt'
|
||||
// source: 'context.kt'
|
||||
public method <init>(): void
|
||||
private final static method test$call(p0: Foo, p1: java.lang.String, p2: kotlin.jvm.internal.Ref$IntRef, p3: int): void
|
||||
public final method test(p0: java.lang.String): void
|
||||
public final inner class kotlin/jvm/internal/Ref$IntRef
|
||||
}
|
||||
|
||||
public final class LocalFunctionMultipleCapturingKt
|
||||
|
||||
-1
@@ -1 +0,0 @@
|
||||
call()
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
MODULE_FRAGMENT
|
||||
FILE fqName:<root> fileName:localFunctionParameterClosure.kt
|
||||
FILE fqName:<root> fileName:context.kt
|
||||
FUN name:call visibility:local modality:FINAL <> () returnType:kotlin.Unit
|
||||
FUN name:consume visibility:public modality:FINAL <> (n:kotlin.Int) returnType:kotlin.Unit
|
||||
VALUE_PARAMETER name:n index:0 type:kotlin.Int
|
||||
|
||||
+13
-2
@@ -1,9 +1,20 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test(x: Int) {
|
||||
fun call() {
|
||||
consume(x)
|
||||
}
|
||||
|
||||
<caret>call()
|
||||
<caret_context>call()
|
||||
}
|
||||
|
||||
fun consume(n: Int) {}
|
||||
fun consume(n: Int) {}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
call()
|
||||
+1
-1
@@ -4,4 +4,4 @@ public final class CodeFragment {
|
||||
public final static method run(p0: int): void
|
||||
}
|
||||
|
||||
public final class LocalFunctionParameterClosureKt
|
||||
public final class ContextKt
|
||||
|
||||
-1
@@ -1 +0,0 @@
|
||||
x = 1
|
||||
+12
-2
@@ -1,7 +1,17 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test() {
|
||||
var x = 0
|
||||
<caret>val y = 0
|
||||
<caret_context>val y = 0
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: BLOCK
|
||||
// FragmentSharedVariablesLowering depends on a specific function name
|
||||
// CODE_FRAGMENT_METHOD_NAME: generated_for_debugger_fun
|
||||
// CODE_FRAGMENT_METHOD_NAME: generated_for_debugger_fun
|
||||
x = 1
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
x = "O"
|
||||
x + "K"
|
||||
+13
-1
@@ -1,4 +1,16 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test() {
|
||||
var x = "a"
|
||||
<caret>x
|
||||
<caret_context>x
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: BLOCK
|
||||
x = "O"
|
||||
x + "K"
|
||||
-1
@@ -1 +0,0 @@
|
||||
useWithCtx1Ctx2Ctx3Ctx4()
|
||||
+1
-1
@@ -12,7 +12,7 @@ MODULE_FRAGMENT
|
||||
VALUE_PARAMETER name:p3 index:3 type:<root>.Ctx4
|
||||
EXPRESSION_BODY
|
||||
BLOCK type=kotlin.Int origin=null
|
||||
CALL 'public final fun useWithCtx1Ctx2Ctx3Ctx4 ($context_receiver_0: <root>.Ctx1, $context_receiver_1: <root>.Ctx2, $context_receiver_2: <root>.Ctx3, $context_receiver_3: <root>.Ctx4): kotlin.Int declared in <root>.MultipleClassAndFunctionContextReceiversKt' type=kotlin.Int origin=null
|
||||
CALL 'public final fun useWithCtx1Ctx2Ctx3Ctx4 ($context_receiver_0: <root>.Ctx1, $context_receiver_1: <root>.Ctx2, $context_receiver_2: <root>.Ctx3, $context_receiver_3: <root>.Ctx4): kotlin.Int declared in <root>.ContextKt' type=kotlin.Int origin=null
|
||||
$context_receiver_0: GET_FIELD 'FIELD FIELD_FOR_CLASS_CONTEXT_RECEIVER name:contextReceiverField0 type:<root>.Ctx1 visibility:private [final]' type=<root>.Ctx1 origin=null
|
||||
receiver: GET_VAR 'p0: <root>.Test declared in <root>.CodeFragment.run' type=<root>.Test origin=null
|
||||
$context_receiver_1: GET_FIELD 'FIELD FIELD_FOR_CLASS_CONTEXT_RECEIVER name:contextReceiverField1 type:<root>.Ctx2 visibility:private [final]' type=<root>.Ctx2 origin=null
|
||||
|
||||
+13
-1
@@ -1,4 +1,8 @@
|
||||
// LANGUAGE: +ContextReceivers
|
||||
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
class Ctx1
|
||||
class Ctx2
|
||||
class Ctx3
|
||||
@@ -11,6 +15,14 @@ context(Ctx1, Ctx2)
|
||||
class Test {
|
||||
context(Ctx3, Ctx4)
|
||||
fun foo() {
|
||||
<caret>val x = 1
|
||||
<caret_context>val x = 1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
useWithCtx1Ctx2Ctx3Ctx4()
|
||||
-1
@@ -1 +0,0 @@
|
||||
useWithCtx1Ctx2()
|
||||
+1
-1
@@ -10,7 +10,7 @@ MODULE_FRAGMENT
|
||||
VALUE_PARAMETER name:p1 index:1 type:<root>.Test
|
||||
EXPRESSION_BODY
|
||||
BLOCK type=kotlin.Int origin=null
|
||||
CALL 'public final fun useWithCtx1Ctx2 ($context_receiver_0: <root>.Ctx1, $context_receiver_1: <root>.Ctx2): kotlin.Int declared in <root>.MultipleClassContextReceiversKt' type=kotlin.Int origin=null
|
||||
CALL 'public final fun useWithCtx1Ctx2 ($context_receiver_0: <root>.Ctx1, $context_receiver_1: <root>.Ctx2): kotlin.Int declared in <root>.ContextKt' type=kotlin.Int origin=null
|
||||
$context_receiver_0: GET_FIELD 'FIELD FIELD_FOR_CLASS_CONTEXT_RECEIVER name:contextReceiverField0 type:<root>.Ctx1 visibility:private [final]' type=<root>.Ctx1 origin=null
|
||||
receiver: GET_VAR 'p0: <root>.Test declared in <root>.CodeFragment.run' type=<root>.Test origin=null
|
||||
$context_receiver_1: GET_FIELD 'FIELD FIELD_FOR_CLASS_CONTEXT_RECEIVER name:contextReceiverField1 type:<root>.Ctx2 visibility:private [final]' type=<root>.Ctx2 origin=null
|
||||
|
||||
+13
-1
@@ -1,4 +1,8 @@
|
||||
// LANGUAGE: +ContextReceivers
|
||||
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
class Ctx1
|
||||
class Ctx2
|
||||
|
||||
@@ -8,6 +12,14 @@ fun useWithCtx1Ctx2() = 3
|
||||
context(Ctx1, Ctx2)
|
||||
class Test {
|
||||
fun foo() {
|
||||
<caret>val x = 1
|
||||
<caret_context>val x = 1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
useWithCtx1Ctx2()
|
||||
-1
@@ -1 +0,0 @@
|
||||
useWithCtx1Ctx2()
|
||||
+1
-1
@@ -10,6 +10,6 @@ MODULE_FRAGMENT
|
||||
VALUE_PARAMETER name:p1 index:1 type:<root>.Ctx2
|
||||
EXPRESSION_BODY
|
||||
BLOCK type=kotlin.Int origin=null
|
||||
CALL 'public final fun useWithCtx1Ctx2 ($context_receiver_0: <root>.Ctx1, $context_receiver_1: <root>.Ctx2): kotlin.Int declared in <root>.MultipleFunctionContextReceiversKt' type=kotlin.Int origin=null
|
||||
CALL 'public final fun useWithCtx1Ctx2 ($context_receiver_0: <root>.Ctx1, $context_receiver_1: <root>.Ctx2): kotlin.Int declared in <root>.ContextKt' type=kotlin.Int origin=null
|
||||
$context_receiver_0: GET_VAR 'p0: <root>.Ctx1 declared in <root>.CodeFragment.run' type=<root>.Ctx1 origin=null
|
||||
$context_receiver_1: GET_VAR 'p1: <root>.Ctx2 declared in <root>.CodeFragment.run' type=<root>.Ctx2 origin=null
|
||||
|
||||
+14
-2
@@ -1,4 +1,8 @@
|
||||
// LANGUAGE: +ContextReceivers
|
||||
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
class Ctx1
|
||||
class Ctx2
|
||||
|
||||
@@ -7,5 +11,13 @@ fun useWithCtx1Ctx2() = 3
|
||||
|
||||
context(Ctx1, Ctx2)
|
||||
fun foo() {
|
||||
<caret>val x = 1
|
||||
}
|
||||
<caret_context>val x = 1
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
useWithCtx1Ctx2()
|
||||
-1
@@ -1 +0,0 @@
|
||||
callFoo(this@Foo) + callString(a) + callString(b)
|
||||
+3
-3
@@ -12,11 +12,11 @@ MODULE_FRAGMENT
|
||||
BLOCK type=kotlin.Int origin=null
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=PLUS
|
||||
$this: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=PLUS
|
||||
$this: CALL 'public final fun callFoo (foo: <root>.Foo): kotlin.Int declared in <root>.NestedOuterClassKt' type=kotlin.Int origin=null
|
||||
$this: CALL 'public final fun callFoo (foo: <root>.Foo): kotlin.Int declared in <root>.ContextKt' type=kotlin.Int origin=null
|
||||
foo: GET_VAR 'p0: <root>.Foo declared in <root>.CodeFragment.run' type=<root>.Foo origin=null
|
||||
other: CALL 'public final fun callString (string: kotlin.String): kotlin.Int declared in <root>.NestedOuterClassKt' type=kotlin.Int origin=null
|
||||
other: CALL 'public final fun callString (string: kotlin.String): kotlin.Int declared in <root>.ContextKt' type=kotlin.Int origin=null
|
||||
string: CALL 'private final fun <get-a> (): kotlin.String declared in <root>.Foo' type=kotlin.String origin=GET_PROPERTY
|
||||
$this: GET_VAR 'p0: <root>.Foo declared in <root>.CodeFragment.run' type=<root>.Foo origin=null
|
||||
other: CALL 'public final fun callString (string: kotlin.String): kotlin.Int declared in <root>.NestedOuterClassKt' type=kotlin.Int origin=null
|
||||
other: CALL 'public final fun callString (string: kotlin.String): kotlin.Int declared in <root>.ContextKt' type=kotlin.Int origin=null
|
||||
string: CALL 'private final fun <get-b> (): kotlin.String declared in <root>.Foo.Bar' type=kotlin.String origin=GET_PROPERTY
|
||||
$this: GET_VAR 'p1: <root>.Foo.Bar declared in <root>.CodeFragment.run' type=<root>.Foo.Bar origin=null
|
||||
|
||||
+13
-2
@@ -1,3 +1,6 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
class Foo {
|
||||
private val a: String = "foo"
|
||||
|
||||
@@ -5,7 +8,7 @@ class Foo {
|
||||
private val b: String = "bar"
|
||||
|
||||
fun test() {
|
||||
<caret>val x = 0
|
||||
<caret_context>val x = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16,4 +19,12 @@ fun callFoo(foo: Foo): Int {
|
||||
|
||||
fun callString(string: String): Int {
|
||||
return 1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
callFoo(this@Foo) + callString(a) + callString(b)
|
||||
-1
@@ -1 +0,0 @@
|
||||
call()
|
||||
+13
-2
@@ -1,7 +1,18 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
object Foo {
|
||||
fun test() {
|
||||
<caret>val x = 0
|
||||
<caret_context>val x = 0
|
||||
}
|
||||
|
||||
fun call() {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
call()
|
||||
-1
@@ -1 +0,0 @@
|
||||
a.length
|
||||
+13
-2
@@ -1,7 +1,18 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
class Test {
|
||||
val a: String = "foo"
|
||||
|
||||
fun test() {
|
||||
<caret>val x = 0
|
||||
<caret_context>val x = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
a.length
|
||||
-1
@@ -1 +0,0 @@
|
||||
a = "bar"
|
||||
+13
-2
@@ -1,7 +1,18 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
class Test {
|
||||
var a: String = "foo"
|
||||
|
||||
fun test() {
|
||||
<caret>val x = 0
|
||||
<caret_context>val x = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: BLOCK
|
||||
a = "bar"
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
@Suppress("INVISIBLE_SETTER")
|
||||
a = "bar"
|
||||
+14
-2
@@ -1,7 +1,19 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
class Test {
|
||||
private var a: String = "foo"
|
||||
|
||||
fun test() {
|
||||
<caret>val x = 0
|
||||
<caret_context>val x = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
@Suppress("INVISIBLE_SETTER")
|
||||
a = "bar"
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
// Need to choose public foo(Any) call instead of more specific but private call foo(Int)
|
||||
a.foo(5)
|
||||
+12
-1
@@ -1,8 +1,19 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
class A {
|
||||
private fun foo(x: Int) = 1 + x
|
||||
fun foo(x: Any) = 2
|
||||
}
|
||||
|
||||
fun test(a: A) {
|
||||
<caret>val x = 0
|
||||
<caret_context>val x = 0
|
||||
}
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
// Need to choose public foo(Any) call instead of more specific but private call foo(Int)
|
||||
a.foo(5)
|
||||
-1
@@ -1 +0,0 @@
|
||||
a.foo()
|
||||
+12
-1
@@ -1,7 +1,18 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
class A {
|
||||
private fun foo() = 2
|
||||
}
|
||||
|
||||
fun test(a: A) {
|
||||
<caret>val x = 0
|
||||
<caret_context>val x = 0
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
a.foo()
|
||||
-1
@@ -1 +0,0 @@
|
||||
useWithCtx2()
|
||||
+1
-1
@@ -9,6 +9,6 @@ MODULE_FRAGMENT
|
||||
VALUE_PARAMETER name:p0 index:0 type:<root>.Test
|
||||
EXPRESSION_BODY
|
||||
BLOCK type=kotlin.Int origin=null
|
||||
CALL 'public final fun useWithCtx2 ($context_receiver_0: <root>.Ctx2): kotlin.Int declared in <root>.SecondClassContextReceiverKt' type=kotlin.Int origin=null
|
||||
CALL 'public final fun useWithCtx2 ($context_receiver_0: <root>.Ctx2): kotlin.Int declared in <root>.ContextKt' type=kotlin.Int origin=null
|
||||
$context_receiver_0: GET_FIELD 'FIELD FIELD_FOR_CLASS_CONTEXT_RECEIVER name:contextReceiverField1 type:<root>.Ctx2 visibility:private [final]' type=<root>.Ctx2 origin=null
|
||||
receiver: GET_VAR 'p0: <root>.Test declared in <root>.CodeFragment.run' type=<root>.Test origin=null
|
||||
|
||||
+13
-1
@@ -1,4 +1,8 @@
|
||||
// LANGUAGE: +ContextReceivers
|
||||
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
class Ctx1
|
||||
class Ctx2
|
||||
|
||||
@@ -8,6 +12,14 @@ fun useWithCtx2() = 3
|
||||
context(Ctx1, Ctx2)
|
||||
class Test {
|
||||
fun foo() {
|
||||
<caret>val x = 1
|
||||
<caret_context>val x = 1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
useWithCtx2()
|
||||
-1
@@ -1 +0,0 @@
|
||||
useWithCtx1()
|
||||
+1
-1
@@ -9,6 +9,6 @@ MODULE_FRAGMENT
|
||||
VALUE_PARAMETER name:p0 index:0 type:<root>.Test
|
||||
EXPRESSION_BODY
|
||||
BLOCK type=kotlin.Int origin=null
|
||||
CALL 'public final fun useWithCtx1 ($context_receiver_0: <root>.Ctx1): kotlin.Int declared in <root>.SingleClassContextReceiverKt' type=kotlin.Int origin=null
|
||||
CALL 'public final fun useWithCtx1 ($context_receiver_0: <root>.Ctx1): kotlin.Int declared in <root>.ContextKt' type=kotlin.Int origin=null
|
||||
$context_receiver_0: GET_FIELD 'FIELD FIELD_FOR_CLASS_CONTEXT_RECEIVER name:contextReceiverField0 type:<root>.Ctx1 visibility:private [final]' type=<root>.Ctx1 origin=null
|
||||
receiver: GET_VAR 'p0: <root>.Test declared in <root>.CodeFragment.run' type=<root>.Test origin=null
|
||||
|
||||
+13
-1
@@ -1,4 +1,8 @@
|
||||
// LANGUAGE: +ContextReceivers
|
||||
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
class Ctx1
|
||||
|
||||
context(Ctx1)
|
||||
@@ -7,6 +11,14 @@ fun useWithCtx1() = 3
|
||||
context(Ctx1)
|
||||
class Test {
|
||||
fun foo() {
|
||||
<caret>val x = 1
|
||||
<caret_context>val x = 1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
useWithCtx1()
|
||||
-1
@@ -1 +0,0 @@
|
||||
length + foo.length
|
||||
+13
-2
@@ -1,9 +1,12 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test() {
|
||||
dumbWith("Hello, world!") {
|
||||
if (this is String) {
|
||||
dumbWith(Foo()) {
|
||||
if (this is Foo) {
|
||||
<caret>val x = 0
|
||||
<caret_context>val x = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16,4 +19,12 @@ inline fun dumbWith(obj: Any?, block: Any?.() -> Unit) {
|
||||
|
||||
class Foo {
|
||||
val foo: String = "foo"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
length + foo.length
|
||||
-1
@@ -1 +0,0 @@
|
||||
foo.call()
|
||||
+13
-2
@@ -1,9 +1,20 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test(foo: Any?) {
|
||||
if (foo is Foo) {
|
||||
<caret>val x = 0
|
||||
<caret_context>val x = 0
|
||||
}
|
||||
}
|
||||
|
||||
class Foo {
|
||||
fun call() {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
foo.call()
|
||||
-1
@@ -1 +0,0 @@
|
||||
foo?.call()
|
||||
+13
-2
@@ -1,7 +1,18 @@
|
||||
// MODULE: context
|
||||
|
||||
// FILE: context.kt
|
||||
fun test(foo: Foo?) {
|
||||
<caret>val x = 0
|
||||
<caret_context>val x = 0
|
||||
}
|
||||
|
||||
class Foo {
|
||||
fun call() {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main
|
||||
// MODULE_KIND: CodeFragment
|
||||
|
||||
// FILE: fragment.kt
|
||||
// CODE_FRAGMENT_KIND: EXPRESSION
|
||||
foo?.call()
|
||||
Reference in New Issue
Block a user