Move: More accurate visibility analysis
#KT-10553 Fixed
This commit is contained in:
+9
@@ -0,0 +1,9 @@
|
||||
class A {
|
||||
private class B {
|
||||
private class D
|
||||
|
||||
private class C {
|
||||
private val d = D()
|
||||
}
|
||||
}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
class A {
|
||||
private class B {
|
||||
private class D
|
||||
|
||||
private class <caret>C {
|
||||
private val d = D()
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
Class C uses class D which will be inaccessible after move
|
||||
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"mainFile": "main.kt",
|
||||
"type": "MOVE_KOTLIN_NESTED_CLASS",
|
||||
"targetClass": "A",
|
||||
"withRuntime": "true"
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
class A {
|
||||
open class B {
|
||||
protected class D
|
||||
|
||||
protected class C {
|
||||
private val d = D()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class X : A.B() {
|
||||
private val c = A.B.C()
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
class A {
|
||||
open class B {
|
||||
protected class D
|
||||
|
||||
protected class <caret>C {
|
||||
private val d = D()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class X : A.B() {
|
||||
private val c = A.B.C()
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
Class C uses class D which will be inaccessible after move
|
||||
Property c uses class C which will be inaccessible after move
|
||||
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"mainFile": "main.kt",
|
||||
"type": "MOVE_KOTLIN_NESTED_CLASS",
|
||||
"targetClass": "A",
|
||||
"withRuntime": "true"
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
class A {
|
||||
private val a = B()
|
||||
|
||||
private class B {
|
||||
private val c = C()
|
||||
}
|
||||
|
||||
private class C()
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
class A {
|
||||
private val a = B()
|
||||
|
||||
private class <caret>B {
|
||||
private val c = C()
|
||||
}
|
||||
|
||||
private class C()
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
Class B uses constructor C() which will be inaccessible after move
|
||||
Property a uses class B which will be inaccessible after move
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"mainFile": "main.kt",
|
||||
"type": "MOVE_KOTLIN_NESTED_CLASS",
|
||||
"withRuntime": "true"
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
open class A {
|
||||
private val a = B()
|
||||
|
||||
protected class B {
|
||||
private val c = C()
|
||||
}
|
||||
|
||||
protected class C()
|
||||
}
|
||||
|
||||
class X : A() {
|
||||
private val b = B()
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
open class A {
|
||||
private val a = B()
|
||||
|
||||
protected class <caret>B {
|
||||
private val c = C()
|
||||
}
|
||||
|
||||
protected class C()
|
||||
}
|
||||
|
||||
class X : A() {
|
||||
private val b = B()
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
Class B uses constructor C() which will be inaccessible after move
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"mainFile": "main.kt",
|
||||
"type": "MOVE_KOTLIN_NESTED_CLASS",
|
||||
"withRuntime": "true"
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
class B {
|
||||
private val c = A.C()
|
||||
}
|
||||
Vendored
+9
@@ -0,0 +1,9 @@
|
||||
open class A {
|
||||
private val a = B()
|
||||
|
||||
class C()
|
||||
}
|
||||
|
||||
class X : A() {
|
||||
private val b = B()
|
||||
}
|
||||
Vendored
+13
@@ -0,0 +1,13 @@
|
||||
open class A {
|
||||
private val a = B()
|
||||
|
||||
protected class <caret>B {
|
||||
private val c = C()
|
||||
}
|
||||
|
||||
class C()
|
||||
}
|
||||
|
||||
class X : A() {
|
||||
private val b = B()
|
||||
}
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"mainFile": "main.kt",
|
||||
"type": "MOVE_KOTLIN_NESTED_CLASS",
|
||||
"withRuntime": "true"
|
||||
}
|
||||
Reference in New Issue
Block a user