Slicer: Sort tree nodes to produce stable test data
This commit is contained in:
@@ -2,5 +2,5 @@
|
|||||||
8 val x = <bold>a.foo()</bold>
|
8 val x = <bold>a.foo()</bold>
|
||||||
4 fun <bold>foo() = 1</bold>
|
4 fun <bold>foo() = 1</bold>
|
||||||
4 fun foo() = <bold>1</bold>
|
4 fun foo() = <bold>1</bold>
|
||||||
13 return <bold>4</bold>;
|
|
||||||
3 return <bold>2</bold>;
|
3 return <bold>2</bold>;
|
||||||
|
13 return <bold>4</bold>;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
4 fun foo(n: Int, <bold>s: String = "???"</bold>) {
|
4 fun foo(n: Int, <bold>s: String = "???"</bold>) {
|
||||||
4 FunParamererWithDefaultKt.foo(1, <bold>"2"</bold>):
|
|
||||||
4 fun foo(n: Int, s: String = <bold>"???"</bold>) {
|
4 fun foo(n: Int, s: String = <bold>"???"</bold>) {
|
||||||
10 foo(1, <bold>"2"</bold>)
|
10 foo(1, <bold>"2"</bold>)
|
||||||
|
4 FunParamererWithDefaultKt.foo(1, <bold>"2"</bold>):
|
||||||
11 foo(1, s = <bold>"2"</bold>)
|
11 foo(1, s = <bold>"2"</bold>)
|
||||||
12 foo(n = 1, s = <bold>"2"</bold>)
|
12 foo(n = 1, s = <bold>"2"</bold>)
|
||||||
13 foo(s = <bold>"2"</bold>, n = 1)
|
13 foo(s = <bold>"2"</bold>, n = 1)
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,4 @@
|
|||||||
5 fun <bold>bar(a: Int): Int = foo(a) { if (it > 0) it else return 0 }</bold>
|
5 fun <bold>bar(a: Int): Int = foo(a) { if (it > 0) it else return 0 }</bold>
|
||||||
5 fun bar(a: Int): Int = foo(a) { if (it > 0) it else return <bold>0</bold> }
|
|
||||||
5 fun bar(a: Int): Int = <bold>foo(a) { if (it > 0) it else return 0 }</bold>
|
5 fun bar(a: Int): Int = <bold>foo(a) { if (it > 0) it else return 0 }</bold>
|
||||||
3 inline fun <bold>foo(a: Int, f: (Int) -> Int) = f(a)</bold>
|
3 inline fun <bold>foo(a: Int, f: (Int) -> Int) = f(a)</bold>
|
||||||
3 inline fun foo(a: Int, f: (Int) -> Int) = <bold>f(a)</bold>
|
3 inline fun foo(a: Int, f: (Int) -> Int) = <bold>f(a)</bold>
|
||||||
@@ -9,3 +8,4 @@
|
|||||||
5 fun bar(a: Int): Int = foo(a) <bold>{ if (it > 0) it else return 0 }</bold>
|
5 fun bar(a: Int): Int = foo(a) <bold>{ if (it > 0) it else return 0 }</bold>
|
||||||
5 fun bar(a: Int): Int = foo(a) { <bold>if (it > 0) it else return 0</bold> }
|
5 fun bar(a: Int): Int = foo(a) { <bold>if (it > 0) it else return 0</bold> }
|
||||||
5 fun bar(a: Int): Int = foo(a) { if (it > 0) <bold>it</bold> else return 0 }
|
5 fun bar(a: Int): Int = foo(a) { if (it > 0) <bold>it</bold> else return 0 }
|
||||||
|
5 fun bar(a: Int): Int = foo(a) { if (it > 0) it else return <bold>0</bold> }
|
||||||
|
|||||||
@@ -6,13 +6,14 @@
|
|||||||
7 else -> <bold>null</bold>
|
7 else -> <bold>null</bold>
|
||||||
|
|
||||||
[NotNull Values]
|
[NotNull Values]
|
||||||
6 n < 0 -> <bold>"-"</bold>
|
|
||||||
9 return <bold>s</bold>
|
|
||||||
4 var <bold>s = when {</bold>
|
|
||||||
4 var s = <bold>when {</bold>
|
|
||||||
6 n < 0 -> <bold>"-"</bold>
|
|
||||||
5 n > 0 -> <bold>"+"</bold>
|
5 n > 0 -> <bold>"+"</bold>
|
||||||
9 return <bold>s</bold>
|
9 return <bold>s</bold>
|
||||||
4 var <bold>s = when {</bold>
|
4 var <bold>s = when {</bold>
|
||||||
4 var s = <bold>when {</bold>
|
4 var s = <bold>when {</bold>
|
||||||
5 n > 0 -> <bold>"+"</bold>
|
5 n > 0 -> <bold>"+"</bold>
|
||||||
|
6 n < 0 -> <bold>"-"</bold>
|
||||||
|
9 return <bold>s</bold>
|
||||||
|
4 var <bold>s = when {</bold>
|
||||||
|
4 var s = <bold>when {</bold>
|
||||||
|
6 n < 0 -> <bold>"-"</bold>
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
17 val <bold>y = b.foo()</bold>
|
17 val <bold>y = b.foo()</bold>
|
||||||
17 val y = <bold>b.foo()</bold>
|
17 val y = <bold>b.foo()</bold>
|
||||||
|
3 return <bold>5</bold>;
|
||||||
8 override fun <bold>foo() = 2</bold>
|
8 override fun <bold>foo() = 2</bold>
|
||||||
8 override fun foo() = <bold>2</bold>
|
8 override fun foo() = <bold>2</bold>
|
||||||
3 return <bold>5</bold>;
|
|
||||||
12 override fun <bold>foo() = 3</bold>
|
12 override fun <bold>foo() = 3</bold>
|
||||||
12 override fun foo() = <bold>3</bold>
|
12 override fun foo() = <bold>3</bold>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
15 val <bold>y = b.foo</bold>
|
15 val <bold>y = b.foo</bold>
|
||||||
15 val y = <bold>b.foo</bold>
|
15 val y = <bold>b.foo</bold>
|
||||||
7 open class B(override val <bold>foo: Int</bold>) : A()
|
|
||||||
3 return <bold>5</bold>;
|
3 return <bold>5</bold>;
|
||||||
|
7 open class B(override val <bold>foo: Int</bold>) : A()
|
||||||
10 override val <bold>foo = 3</bold>
|
10 override val <bold>foo = 3</bold>
|
||||||
10 override val foo = <bold>3</bold>
|
10 override val foo = <bold>3</bold>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
20 val <bold>y = b.foo</bold>
|
20 val <bold>y = b.foo</bold>
|
||||||
20 val y = <bold>b.foo</bold>
|
20 val y = <bold>b.foo</bold>
|
||||||
|
3 return <bold>5</bold>;
|
||||||
9 override val <bold>foo: Int</bold>
|
9 override val <bold>foo: Int</bold>
|
||||||
10 get() = <bold>2</bold>
|
10 get() = <bold>2</bold>
|
||||||
3 return <bold>5</bold>;
|
|
||||||
14 override val <bold>foo: Int</bold>
|
14 override val <bold>foo: Int</bold>
|
||||||
15 get() = <bold>3</bold>
|
15 get() = <bold>3</bold>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
17 val <bold>y = b.foo</bold>
|
17 val <bold>y = b.foo</bold>
|
||||||
17 val y = <bold>b.foo</bold>
|
17 val y = <bold>b.foo</bold>
|
||||||
|
3 return <bold>5</bold>;
|
||||||
8 override val <bold>foo = 2</bold>
|
8 override val <bold>foo = 2</bold>
|
||||||
8 override val foo = <bold>2</bold>
|
8 override val foo = <bold>2</bold>
|
||||||
3 return <bold>5</bold>;
|
|
||||||
12 override val <bold>foo = 3</bold>
|
12 override val <bold>foo = 3</bold>
|
||||||
12 override val foo = <bold>3</bold>
|
12 override val foo = <bold>3</bold>
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
3 open class A @JvmOverloads constructor(<bold>n: Int</bold>, s: String = "???")
|
3 open class A @JvmOverloads constructor(<bold>n: Int</bold>, s: String = "???")
|
||||||
|
3 super(<bold>n</bold>, s);
|
||||||
|
2 D(int <bold>n</bold>, String s) {
|
||||||
5 class B1: A(<bold>1</bold>)
|
5 class B1: A(<bold>1</bold>)
|
||||||
|
7 super(<bold>n</bold>);
|
||||||
|
6 D(int <bold>n</bold>) {
|
||||||
6 class B2: A(<bold>1</bold>, "2")
|
6 class B2: A(<bold>1</bold>, "2")
|
||||||
7 class B3: A(<bold>1</bold>, s = "2")
|
7 class B3: A(<bold>1</bold>, s = "2")
|
||||||
|
11 new A(<bold>1</bold>);
|
||||||
8 class B4: A(n = <bold>1</bold>, s = "2")
|
8 class B4: A(n = <bold>1</bold>, s = "2")
|
||||||
|
12 new A(<bold>1</bold>, "2");
|
||||||
9 class B5: A(s = "2", n = <bold>1</bold>)
|
9 class B5: A(s = "2", n = <bold>1</bold>)
|
||||||
12 A(<bold>1</bold>)
|
12 A(<bold>1</bold>)
|
||||||
13 A(<bold>1</bold>, "2")
|
13 A(<bold>1</bold>, "2")
|
||||||
14 A(<bold>1</bold>, s = "2")
|
14 A(<bold>1</bold>, s = "2")
|
||||||
15 A(n = <bold>1</bold>, s = "2")
|
15 A(n = <bold>1</bold>, s = "2")
|
||||||
16 A(s = "2", n = <bold>1</bold>)
|
16 A(s = "2", n = <bold>1</bold>)
|
||||||
3 super(<bold>n</bold>, s);
|
|
||||||
2 D(int <bold>n</bold>, String s) {
|
|
||||||
7 super(<bold>n</bold>);
|
|
||||||
6 D(int <bold>n</bold>) {
|
|
||||||
11 new A(<bold>1</bold>);
|
|
||||||
12 new A(<bold>1</bold>, "2");
|
|
||||||
|
|||||||
+3
-3
@@ -1,13 +1,13 @@
|
|||||||
3 open class A @JvmOverloads constructor(n: Int, <bold>s: String = "???"</bold>)
|
3 open class A @JvmOverloads constructor(n: Int, <bold>s: String = "???"</bold>)
|
||||||
|
3 super(n, <bold>s</bold>);
|
||||||
|
2 D(int n, String <bold>s</bold>) {
|
||||||
3 open class A @JvmOverloads constructor(n: Int, s: String = <bold>"???"</bold>)
|
3 open class A @JvmOverloads constructor(n: Int, s: String = <bold>"???"</bold>)
|
||||||
6 class B2: A(1, <bold>"2"</bold>)
|
6 class B2: A(1, <bold>"2"</bold>)
|
||||||
7 class B3: A(1, s = <bold>"2"</bold>)
|
7 class B3: A(1, s = <bold>"2"</bold>)
|
||||||
8 class B4: A(n = 1, s = <bold>"2"</bold>)
|
8 class B4: A(n = 1, s = <bold>"2"</bold>)
|
||||||
|
12 new A(1, <bold>"2"</bold>);
|
||||||
9 class B5: A(s = <bold>"2"</bold>, n = 1)
|
9 class B5: A(s = <bold>"2"</bold>, n = 1)
|
||||||
13 A(1, <bold>"2"</bold>)
|
13 A(1, <bold>"2"</bold>)
|
||||||
14 A(1, s = <bold>"2"</bold>)
|
14 A(1, s = <bold>"2"</bold>)
|
||||||
15 A(n = 1, s = <bold>"2"</bold>)
|
15 A(n = 1, s = <bold>"2"</bold>)
|
||||||
16 A(s = <bold>"2"</bold>, n = 1)
|
16 A(s = <bold>"2"</bold>, n = 1)
|
||||||
3 super(n, <bold>s</bold>);
|
|
||||||
2 D(int n, String <bold>s</bold>) {
|
|
||||||
12 new A(1, <bold>"2"</bold>);
|
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
4 @JvmOverloads constructor(<bold>n: Int</bold>, s: String = "???")
|
4 @JvmOverloads constructor(<bold>n: Int</bold>, s: String = "???")
|
||||||
|
3 super(<bold>n</bold>, s);
|
||||||
|
2 D(int <bold>n</bold>, String s) {
|
||||||
7 class B1: A(<bold>1</bold>)
|
7 class B1: A(<bold>1</bold>)
|
||||||
|
7 super(<bold>n</bold>);
|
||||||
|
6 D(int <bold>n</bold>) {
|
||||||
8 class B2: A(<bold>1</bold>, "2")
|
8 class B2: A(<bold>1</bold>, "2")
|
||||||
9 class B3: A(<bold>1</bold>, s = "2")
|
9 class B3: A(<bold>1</bold>, s = "2")
|
||||||
|
11 new A(<bold>1</bold>);
|
||||||
10 class B4: A(n = <bold>1</bold>, s = "2")
|
10 class B4: A(n = <bold>1</bold>, s = "2")
|
||||||
|
12 new A(<bold>1</bold>, "2");
|
||||||
11 class B5: A(s = "2", n = <bold>1</bold>)
|
11 class B5: A(s = "2", n = <bold>1</bold>)
|
||||||
14 A(<bold>1</bold>)
|
14 A(<bold>1</bold>)
|
||||||
15 A(<bold>1</bold>, "2")
|
15 A(<bold>1</bold>, "2")
|
||||||
16 A(<bold>1</bold>, s = "2")
|
16 A(<bold>1</bold>, s = "2")
|
||||||
17 A(n = <bold>1</bold>, s = "2")
|
17 A(n = <bold>1</bold>, s = "2")
|
||||||
18 A(s = "2", n = <bold>1</bold>)
|
18 A(s = "2", n = <bold>1</bold>)
|
||||||
3 super(<bold>n</bold>, s);
|
|
||||||
2 D(int <bold>n</bold>, String s) {
|
|
||||||
7 super(<bold>n</bold>);
|
|
||||||
6 D(int <bold>n</bold>) {
|
|
||||||
11 new A(<bold>1</bold>);
|
|
||||||
12 new A(<bold>1</bold>, "2");
|
|
||||||
|
|||||||
+3
-3
@@ -1,13 +1,13 @@
|
|||||||
4 @JvmOverloads constructor(n: Int, <bold>s: String = "???"</bold>)
|
4 @JvmOverloads constructor(n: Int, <bold>s: String = "???"</bold>)
|
||||||
|
3 super(n, <bold>s</bold>);
|
||||||
|
2 D(int n, String <bold>s</bold>) {
|
||||||
4 @JvmOverloads constructor(n: Int, s: String = <bold>"???"</bold>)
|
4 @JvmOverloads constructor(n: Int, s: String = <bold>"???"</bold>)
|
||||||
8 class B2: A(1, <bold>"2"</bold>)
|
8 class B2: A(1, <bold>"2"</bold>)
|
||||||
9 class B3: A(1, s = <bold>"2"</bold>)
|
9 class B3: A(1, s = <bold>"2"</bold>)
|
||||||
|
12 new A(1, <bold>"2"</bold>);
|
||||||
10 class B4: A(n = 1, s = <bold>"2"</bold>)
|
10 class B4: A(n = 1, s = <bold>"2"</bold>)
|
||||||
11 class B5: A(s = <bold>"2"</bold>, n = 1)
|
11 class B5: A(s = <bold>"2"</bold>, n = 1)
|
||||||
15 A(1, <bold>"2"</bold>)
|
15 A(1, <bold>"2"</bold>)
|
||||||
16 A(1, s = <bold>"2"</bold>)
|
16 A(1, s = <bold>"2"</bold>)
|
||||||
17 A(n = 1, s = <bold>"2"</bold>)
|
17 A(n = 1, s = <bold>"2"</bold>)
|
||||||
18 A(s = <bold>"2"</bold>, n = 1)
|
18 A(s = <bold>"2"</bold>, n = 1)
|
||||||
3 super(n, <bold>s</bold>);
|
|
||||||
2 D(int n, String <bold>s</bold>) {
|
|
||||||
12 new A(1, <bold>"2"</bold>);
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
3 var <bold>foo: Int = 1</bold>
|
3 var <bold>foo: Int = 1</bold>
|
||||||
3 var foo: Int = <bold>1</bold>
|
3 var foo: Int = <bold>1</bold>
|
||||||
4 TopLevelVarKt.setFoo(<bold>3</bold>);
|
|
||||||
7 foo = <bold>2</bold>
|
7 foo = <bold>2</bold>
|
||||||
|
4 TopLevelVarKt.setFoo(<bold>3</bold>);
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
3 open class A(val <bold>n: Int</bold>)
|
3 open class A(val <bold>n: Int</bold>)
|
||||||
5 class B : A(<bold>1</bold>)
|
|
||||||
8 val z = A(<bold>2</bold>).n
|
|
||||||
3 super(<bold>n</bold>);
|
3 super(<bold>n</bold>);
|
||||||
2 D(int <bold>n</bold>) {
|
2 D(int <bold>n</bold>) {
|
||||||
|
5 class B : A(<bold>1</bold>)
|
||||||
|
8 val z = A(<bold>2</bold>).n
|
||||||
7 A a = new A(<bold>3</bold>);
|
7 A a = new A(<bold>3</bold>);
|
||||||
|
|||||||
+3
-3
@@ -1,10 +1,10 @@
|
|||||||
3 open class A(var <bold>n: Int</bold>) {
|
3 open class A(var <bold>n: Int</bold>) {
|
||||||
20 class B : A(<bold>1</bold>)
|
|
||||||
23 val z = A(<bold>2</bold>).n
|
|
||||||
24 A(<bold>3</bold>).n = 2
|
|
||||||
3 super(<bold>n</bold>);
|
3 super(<bold>n</bold>);
|
||||||
2 D(int <bold>n</bold>) {
|
2 D(int <bold>n</bold>) {
|
||||||
7 A a = new A(<bold>3</bold>);
|
7 A a = new A(<bold>3</bold>);
|
||||||
9 a.setN(<bold>4</bold>);
|
9 a.setN(<bold>4</bold>);
|
||||||
16 n = <bold>1</bold>
|
16 n = <bold>1</bold>
|
||||||
|
20 class B : A(<bold>1</bold>)
|
||||||
|
23 val z = A(<bold>2</bold>).n
|
||||||
|
24 A(<bold>3</bold>).n = 2
|
||||||
24 A(3).n = <bold>2</bold>
|
24 A(3).n = <bold>2</bold>
|
||||||
|
|||||||
+5
-5
@@ -1,9 +1,9 @@
|
|||||||
3 open class A<bold>()</bold> {
|
3 open class A<bold>()</bold> {
|
||||||
|
2 <bold>J() {</bold>
|
||||||
|
4 constructor(n: Int) : <bold>this()</bold>
|
||||||
|
7 <bold>super</bold>();
|
||||||
7 class B : <bold>A()</bold>
|
7 class B : <bold>A()</bold>
|
||||||
|
11 A a = new <bold>A</bold>();
|
||||||
|
10 constructor() : <bold>super()</bold>
|
||||||
14 val x = <bold>A()</bold>
|
14 val x = <bold>A()</bold>
|
||||||
14 val <bold>x = A()</bold>
|
14 val <bold>x = A()</bold>
|
||||||
2 <bold>J() {</bold>
|
|
||||||
7 <bold>super</bold>();
|
|
||||||
4 constructor(n: Int) : <bold>this()</bold>
|
|
||||||
10 constructor() : <bold>super()</bold>
|
|
||||||
11 A a = new <bold>A</bold>();
|
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
4 override fun foo() = <bold>4</bold>
|
4 override fun foo() = <bold>4</bold>
|
||||||
4 override fun <bold>foo() = 4</bold>
|
4 override fun <bold>foo() = 4</bold>
|
||||||
11 val u = d.<bold>foo()</bold>
|
|
||||||
11 val <bold>u = d.foo()</bold>
|
|
||||||
2 public int <bold>foo();</bold>
|
2 public int <bold>foo();</bold>
|
||||||
8 val x = a.<bold>foo()</bold>
|
8 val x = a.<bold>foo()</bold>
|
||||||
8 val <bold>x = a.foo()</bold>
|
8 val <bold>x = a.foo()</bold>
|
||||||
@@ -9,14 +7,16 @@
|
|||||||
9 val <bold>y = b.foo()</bold>
|
9 val <bold>y = b.foo()</bold>
|
||||||
10 val z = c.<bold>foo()</bold>
|
10 val z = c.<bold>foo()</bold>
|
||||||
10 val <bold>z = c.foo()</bold>
|
10 val <bold>z = c.foo()</bold>
|
||||||
11 DUPLICATE: val u = d.<bold>foo()</bold>
|
11 val u = d.<bold>foo()</bold>
|
||||||
|
11 val <bold>u = d.foo()</bold>
|
||||||
6 public int <bold>foo() {</bold>
|
6 public int <bold>foo() {</bold>
|
||||||
9 DUPLICATE: val y = b.<bold>foo()</bold>
|
|
||||||
11 DUPLICATE: val u = d.<bold>foo()</bold>
|
|
||||||
8 DUPLICATE: val x = a.<bold>foo()</bold>
|
8 DUPLICATE: val x = a.<bold>foo()</bold>
|
||||||
|
9 DUPLICATE: val y = b.<bold>foo()</bold>
|
||||||
10 DUPLICATE: val z = c.<bold>foo()</bold>
|
10 DUPLICATE: val z = c.<bold>foo()</bold>
|
||||||
|
11 DUPLICATE: val u = d.<bold>foo()</bold>
|
||||||
12 public int <bold>foo();</bold>
|
12 public int <bold>foo();</bold>
|
||||||
10 DUPLICATE: val z = c.<bold>foo()</bold>
|
|
||||||
11 DUPLICATE: val u = d.<bold>foo()</bold>
|
|
||||||
8 DUPLICATE: val x = a.<bold>foo()</bold>
|
8 DUPLICATE: val x = a.<bold>foo()</bold>
|
||||||
9 DUPLICATE: val y = b.<bold>foo()</bold>
|
9 DUPLICATE: val y = b.<bold>foo()</bold>
|
||||||
|
10 DUPLICATE: val z = c.<bold>foo()</bold>
|
||||||
|
11 DUPLICATE: val u = d.<bold>foo()</bold>
|
||||||
|
11 DUPLICATE: val u = d.<bold>foo()</bold>
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
4 override fun foo() = <bold>2</bold>
|
4 override fun foo() = <bold>2</bold>
|
||||||
4 override fun <bold>foo() = 2</bold>
|
4 override fun <bold>foo() = 2</bold>
|
||||||
9 val y = b.<bold>foo()</bold>
|
|
||||||
9 val <bold>y = b.foo()</bold>
|
|
||||||
4 public int <bold>foo();</bold>
|
4 public int <bold>foo();</bold>
|
||||||
8 val x = a.<bold>foo()</bold>
|
8 val x = a.<bold>foo()</bold>
|
||||||
8 val <bold>x = a.foo()</bold>
|
8 val <bold>x = a.foo()</bold>
|
||||||
|
9 val y = b.<bold>foo()</bold>
|
||||||
|
9 val <bold>y = b.foo()</bold>
|
||||||
10 val z = c.<bold>foo()</bold>
|
10 val z = c.<bold>foo()</bold>
|
||||||
10 val <bold>z = c.foo()</bold>
|
10 val <bold>z = c.foo()</bold>
|
||||||
11 val u = d.<bold>foo()</bold>
|
11 val u = d.<bold>foo()</bold>
|
||||||
11 val <bold>u = d.foo()</bold>
|
11 val <bold>u = d.foo()</bold>
|
||||||
9 DUPLICATE: val y = b.<bold>foo()</bold>
|
9 DUPLICATE: val y = b.<bold>foo()</bold>
|
||||||
|
|||||||
+3
-3
@@ -1,12 +1,12 @@
|
|||||||
4 override fun foo() = <bold>3</bold>
|
4 override fun foo() = <bold>3</bold>
|
||||||
4 override fun <bold>foo() = 3</bold>
|
4 override fun <bold>foo() = 3</bold>
|
||||||
10 val z = c.<bold>foo()</bold>
|
|
||||||
10 val <bold>z = c.foo()</bold>
|
|
||||||
2 public int <bold>foo();</bold>
|
2 public int <bold>foo();</bold>
|
||||||
8 val x = a.<bold>foo()</bold>
|
8 val x = a.<bold>foo()</bold>
|
||||||
8 val <bold>x = a.foo()</bold>
|
8 val <bold>x = a.foo()</bold>
|
||||||
9 val y = b.<bold>foo()</bold>
|
9 val y = b.<bold>foo()</bold>
|
||||||
9 val <bold>y = b.foo()</bold>
|
9 val <bold>y = b.foo()</bold>
|
||||||
|
10 val z = c.<bold>foo()</bold>
|
||||||
|
10 val <bold>z = c.foo()</bold>
|
||||||
11 val u = d.<bold>foo()</bold>
|
11 val u = d.<bold>foo()</bold>
|
||||||
11 val <bold>u = d.foo()</bold>
|
11 val <bold>u = d.foo()</bold>
|
||||||
10 DUPLICATE: val z = c.<bold>foo()</bold>
|
10 DUPLICATE: val z = c.<bold>foo()</bold>
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
16 override fun foo() = <bold>4</bold>
|
16 override fun foo() = <bold>4</bold>
|
||||||
16 override fun <bold>foo() = 4</bold>
|
16 override fun <bold>foo() = 4</bold>
|
||||||
23 val u = d.<bold>foo()</bold>
|
|
||||||
23 val <bold>u = d.foo()</bold>
|
|
||||||
20 val x = a.<bold>foo()</bold>
|
20 val x = a.<bold>foo()</bold>
|
||||||
20 val <bold>x = a.foo()</bold>
|
20 val <bold>x = a.foo()</bold>
|
||||||
21 val y = b.<bold>foo()</bold>
|
21 val y = b.<bold>foo()</bold>
|
||||||
21 val <bold>y = b.foo()</bold>
|
21 val <bold>y = b.foo()</bold>
|
||||||
22 val z = c.<bold>foo()</bold>
|
22 val z = c.<bold>foo()</bold>
|
||||||
22 val <bold>z = c.foo()</bold>
|
22 val <bold>z = c.foo()</bold>
|
||||||
|
23 val u = d.<bold>foo()</bold>
|
||||||
|
23 val <bold>u = d.foo()</bold>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
8 override fun foo() = <bold>2</bold>
|
8 override fun foo() = <bold>2</bold>
|
||||||
8 override fun <bold>foo() = 2</bold>
|
8 override fun <bold>foo() = 2</bold>
|
||||||
21 val y = b.<bold>foo()</bold>
|
|
||||||
21 val <bold>y = b.foo()</bold>
|
|
||||||
20 val x = a.<bold>foo()</bold>
|
20 val x = a.<bold>foo()</bold>
|
||||||
20 val <bold>x = a.foo()</bold>
|
20 val <bold>x = a.foo()</bold>
|
||||||
|
21 val y = b.<bold>foo()</bold>
|
||||||
|
21 val <bold>y = b.foo()</bold>
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
12 override fun foo() = <bold>3</bold>
|
12 override fun foo() = <bold>3</bold>
|
||||||
12 override fun <bold>foo() = 3</bold>
|
12 override fun <bold>foo() = 3</bold>
|
||||||
22 val z = c.<bold>foo()</bold>
|
|
||||||
22 val <bold>z = c.foo()</bold>
|
|
||||||
20 val x = a.<bold>foo()</bold>
|
20 val x = a.<bold>foo()</bold>
|
||||||
20 val <bold>x = a.foo()</bold>
|
20 val <bold>x = a.foo()</bold>
|
||||||
|
22 val z = c.<bold>foo()</bold>
|
||||||
|
22 val <bold>z = c.foo()</bold>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
8 override fun foo() = <bold>2</bold>
|
8 override fun foo() = <bold>2</bold>
|
||||||
8 override fun <bold>foo() = 2</bold>
|
8 override fun <bold>foo() = 2</bold>
|
||||||
17 val y = b.<bold>foo()</bold>
|
|
||||||
17 val <bold>y = b.foo()</bold>
|
|
||||||
16 val x = a.<bold>foo()</bold>
|
16 val x = a.<bold>foo()</bold>
|
||||||
16 val <bold>x = a.foo()</bold>
|
16 val <bold>x = a.foo()</bold>
|
||||||
|
17 val y = b.<bold>foo()</bold>
|
||||||
|
17 val <bold>y = b.foo()</bold>
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
4 override fun foo() = <bold>2</bold>
|
4 override fun foo() = <bold>2</bold>
|
||||||
4 override fun <bold>foo() = 2</bold>
|
4 override fun <bold>foo() = 2</bold>
|
||||||
9 val y = b.<bold>foo()</bold>
|
|
||||||
9 val <bold>y = b.foo()</bold>
|
|
||||||
2 int <bold>foo() {</bold>
|
2 int <bold>foo() {</bold>
|
||||||
8 val x = a.<bold>foo()</bold>
|
8 val x = a.<bold>foo()</bold>
|
||||||
8 val <bold>x = a.foo()</bold>
|
8 val <bold>x = a.foo()</bold>
|
||||||
|
9 val y = b.<bold>foo()</bold>
|
||||||
|
9 val <bold>y = b.foo()</bold>
|
||||||
10 val z = c.<bold>foo()</bold>
|
10 val z = c.<bold>foo()</bold>
|
||||||
10 val <bold>z = c.foo()</bold>
|
10 val <bold>z = c.foo()</bold>
|
||||||
9 DUPLICATE: val y = b.<bold>foo()</bold>
|
9 DUPLICATE: val y = b.<bold>foo()</bold>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
10 override val foo = <bold>3</bold>
|
10 override val foo = <bold>3</bold>
|
||||||
10 override val <bold>foo = 3</bold>
|
10 override val <bold>foo = 3</bold>
|
||||||
16 val z = c.<bold>foo</bold>
|
|
||||||
16 val <bold>z = c.foo</bold>
|
|
||||||
14 val x = a.<bold>foo</bold>
|
14 val x = a.<bold>foo</bold>
|
||||||
14 val <bold>x = a.foo</bold>
|
14 val <bold>x = a.foo</bold>
|
||||||
15 val y = b.<bold>foo</bold>
|
15 val y = b.<bold>foo</bold>
|
||||||
15 val <bold>y = b.foo</bold>
|
15 val <bold>y = b.foo</bold>
|
||||||
|
16 val z = c.<bold>foo</bold>
|
||||||
|
16 val <bold>z = c.foo</bold>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
10 get() = <bold>2</bold>
|
10 get() = <bold>2</bold>
|
||||||
10 <bold>get() = 2</bold>
|
10 <bold>get() = 2</bold>
|
||||||
20 val y = b.<bold>foo</bold>
|
|
||||||
20 val <bold>y = b.foo</bold>
|
|
||||||
19 val x = a.<bold>foo</bold>
|
19 val x = a.<bold>foo</bold>
|
||||||
19 val <bold>x = a.foo</bold>
|
19 val <bold>x = a.foo</bold>
|
||||||
|
20 val y = b.<bold>foo</bold>
|
||||||
|
20 val <bold>y = b.foo</bold>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
8 override val foo = <bold>2</bold>
|
8 override val foo = <bold>2</bold>
|
||||||
8 override val <bold>foo = 2</bold>
|
8 override val <bold>foo = 2</bold>
|
||||||
17 val y = b.<bold>foo</bold>
|
|
||||||
17 val <bold>y = b.foo</bold>
|
|
||||||
16 val x = a.<bold>foo</bold>
|
16 val x = a.<bold>foo</bold>
|
||||||
16 val <bold>x = a.foo</bold>
|
16 val <bold>x = a.foo</bold>
|
||||||
|
17 val y = b.<bold>foo</bold>
|
||||||
|
17 val <bold>y = b.foo</bold>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
3 open class A<bold>(n: Int)</bold> {
|
3 open class A<bold>(n: Int)</bold> {
|
||||||
7 class B : <bold>A(1)</bold>
|
|
||||||
14 val x = <bold>A(1)</bold>
|
|
||||||
14 val <bold>x = A(1)</bold>
|
|
||||||
3 <bold>super</bold>(1);
|
3 <bold>super</bold>(1);
|
||||||
4 constructor() : <bold>this(1)</bold>
|
4 constructor() : <bold>this(1)</bold>
|
||||||
10 constructor() : <bold>super(1)</bold>
|
7 class B : <bold>A(1)</bold>
|
||||||
7 A a = new <bold>A</bold>(1);
|
7 A a = new <bold>A</bold>(1);
|
||||||
|
10 constructor() : <bold>super(1)</bold>
|
||||||
|
14 val x = <bold>A(1)</bold>
|
||||||
|
14 val <bold>x = A(1)</bold>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
4 <bold>constructor(n: Int)</bold>
|
4 <bold>constructor(n: Int)</bold>
|
||||||
9 class B : <bold>A(1)</bold>
|
|
||||||
16 val x = <bold>A(1)</bold>
|
|
||||||
16 val <bold>x = A(1)</bold>
|
|
||||||
3 <bold>super</bold>(1);
|
3 <bold>super</bold>(1);
|
||||||
6 constructor() : <bold>this(1)</bold>
|
6 constructor() : <bold>this(1)</bold>
|
||||||
12 constructor() : <bold>super(1)</bold>
|
|
||||||
7 A a = new <bold>A</bold>(1);
|
7 A a = new <bold>A</bold>(1);
|
||||||
|
9 class B : <bold>A(1)</bold>
|
||||||
|
12 constructor() : <bold>super(1)</bold>
|
||||||
|
16 val x = <bold>A(1)</bold>
|
||||||
|
16 val <bold>x = A(1)</bold>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
3 val <bold>x = 1</bold>
|
3 val <bold>x = 1</bold>
|
||||||
3 int x = TopLevelPropertyUsagesKt.<bold>getX</bold>();
|
|
||||||
5 val y = <bold>x</bold>
|
5 val y = <bold>x</bold>
|
||||||
5 val <bold>y = x</bold>
|
5 val <bold>y = x</bold>
|
||||||
|
3 int x = TopLevelPropertyUsagesKt.<bold>getX</bold>();
|
||||||
8 val y = <bold>x</bold>
|
8 val y = <bold>x</bold>
|
||||||
8 val <bold>y = x</bold>
|
8 val <bold>y = x</bold>
|
||||||
13 z = <bold>x</bold>
|
13 z = <bold>x</bold>
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import com.intellij.slicer.SliceRootNode
|
|||||||
import com.intellij.usages.TextChunk
|
import com.intellij.usages.TextChunk
|
||||||
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase
|
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
|
import org.jetbrains.kotlin.psi.psiUtil.startOffset
|
||||||
import org.jetbrains.kotlin.test.InTextDirectivesUtils
|
import org.jetbrains.kotlin.test.InTextDirectivesUtils
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
import java.awt.Font
|
import java.awt.Font
|
||||||
@@ -46,6 +47,9 @@ abstract class AbstractSlicerTest : KotlinLightCodeInsightFixtureTestCase() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
private val SliceNode.sortedChildren : List<SliceNode>
|
||||||
|
get() = children.sortedBy { it.value.element?.startOffset ?: -1 }
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
protected fun buildTreeRepresentation(rootNode: SliceNode): String {
|
protected fun buildTreeRepresentation(rootNode: SliceNode): String {
|
||||||
fun TextChunk.render(): String {
|
fun TextChunk.render(): String {
|
||||||
@@ -67,7 +71,7 @@ abstract class AbstractSlicerTest : KotlinLightCodeInsightFixtureTestCase() {
|
|||||||
return buildString {
|
return buildString {
|
||||||
when {
|
when {
|
||||||
node is SliceRootNode && usage.element is KtFile -> {
|
node is SliceRootNode && usage.element is KtFile -> {
|
||||||
node.children.forEach { append(process(it, indent)) }
|
node.sortedChildren.forEach { append(process(it, indent)) }
|
||||||
return@buildString
|
return@buildString
|
||||||
}
|
}
|
||||||
// SliceLeafValueClassNode is package-private
|
// SliceLeafValueClassNode is package-private
|
||||||
@@ -92,7 +96,7 @@ abstract class AbstractSlicerTest : KotlinLightCodeInsightFixtureTestCase() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!isDuplicated) {
|
if (!isDuplicated) {
|
||||||
node.children.forEach { append(process(it, indent + 1)) }
|
node.sortedChildren.forEach { append(process(it, indent + 1)) }
|
||||||
}
|
}
|
||||||
}.replace(Regex("</bold><bold>"), "")
|
}.replace(Regex("</bold><bold>"), "")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user