Write to trace in case class qualifier is a short reference to default object
This allows to fix some cases when there is a difference between explicit and short reference to default object Fix shorten reference, optimize imports and import insert helper for default objects ShortenReferences always transforms default object references to shorter form for now Fix DescriptorUtils#getFqName() for default objects (affects test data mostly) Fix DescriptorUtils#getImportableDescriptor()
This commit is contained in:
@@ -7,4 +7,8 @@ import a.T
|
||||
fun g(t: T): Int {
|
||||
g(A)
|
||||
B.f()
|
||||
A
|
||||
B
|
||||
A.Default
|
||||
B.Default
|
||||
}
|
||||
@@ -16,6 +16,10 @@ class B {
|
||||
<selection>fun g(t: T): Int {
|
||||
g(A)
|
||||
B.f()
|
||||
A
|
||||
B
|
||||
A.Default
|
||||
B.Default
|
||||
}</selection>
|
||||
|
||||
|
||||
|
||||
@@ -2,5 +2,5 @@ package to
|
||||
|
||||
import a.Outer
|
||||
|
||||
fun f(i: Outer.Inner, n: Outer.Nested, e: Outer.NestedEnum, o: Outer.NestedObj, t: Outer.NestedTrait, a: Outer.NestedAnnotation) {
|
||||
fun f(n: Outer.Default.Nested, e: Outer.Default.NestedEnum, o: Outer.Default.NestedObj, t: Outer.Default.NestedTrait, a: Outer.Default.NestedAnnotation) {
|
||||
}
|
||||
@@ -1,11 +1,13 @@
|
||||
package a
|
||||
|
||||
import a.Outer.*
|
||||
import a.Outer.Default.Nested
|
||||
import a.Outer.Default.NestedEnum
|
||||
import a.Outer.Default.NestedObj
|
||||
import a.Outer.Default.NestedTrait
|
||||
import a.Outer.Default.NestedAnnotation
|
||||
|
||||
class Outer {
|
||||
class object {
|
||||
inner class Inner {
|
||||
}
|
||||
class Nested {
|
||||
}
|
||||
enum class NestedEnum {
|
||||
@@ -18,5 +20,5 @@ class Outer {
|
||||
}
|
||||
}
|
||||
|
||||
<selection>fun f(i: Inner, n: Nested, e: NestedEnum, o: NestedObj, t: NestedTrait, a: NestedAnnotation) {
|
||||
<selection>fun f(n: Nested, e: NestedEnum, o: NestedObj, t: NestedTrait, a: NestedAnnotation) {
|
||||
}</selection>
|
||||
@@ -1,2 +1,2 @@
|
||||
<!-- nestedClassShouldBeQualified3 -->
|
||||
Nested class 'Nested' should be qualified as 'C.D.Nested'
|
||||
Nested class 'Nested' should be qualified as 'C.Default.D.Nested'
|
||||
@@ -1,2 +1,2 @@
|
||||
<!-- nestedClassShouldBeQualified4 -->
|
||||
Nested class 'Nested' should be qualified as 'C.D::Nested'
|
||||
Nested class 'Nested' should be qualified as 'C.Default.D::Nested'
|
||||
@@ -1,2 +1,2 @@
|
||||
<!-- nestedClassShouldBeQualified5 -->
|
||||
Nested class object of 'F' should be qualified as 'E.F'
|
||||
Nested class object of 'F' should be qualified as 'E.F.Default'
|
||||
@@ -0,0 +1,13 @@
|
||||
package d
|
||||
|
||||
class A {
|
||||
class object E {
|
||||
val c: Int
|
||||
}
|
||||
}
|
||||
|
||||
class B {
|
||||
class object F {
|
||||
val c: Int
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package p
|
||||
|
||||
import d.A
|
||||
import d.A.E
|
||||
import d.B.F
|
||||
import d.B
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
F.c
|
||||
A.c
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package p
|
||||
|
||||
import d.A
|
||||
import d.B.F
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
F.c
|
||||
A.c
|
||||
}
|
||||
+1
-1
@@ -1 +1 @@
|
||||
Property A.t will become invisible after extraction
|
||||
Property A.Default.t will become invisible after extraction
|
||||
+3
-1
@@ -3,5 +3,7 @@ package source
|
||||
import library.*
|
||||
|
||||
class Bar {
|
||||
|
||||
class object {
|
||||
val c : Int
|
||||
}
|
||||
}
|
||||
+8
@@ -3,6 +3,7 @@ package target
|
||||
import library.JavaClass
|
||||
import library.KtClass
|
||||
import library.KtObject
|
||||
import source.Bar
|
||||
|
||||
class Foo {
|
||||
val jv1 = JavaClass.foo()
|
||||
@@ -13,4 +14,11 @@ class Foo {
|
||||
val kt2 = KtObject.foo()
|
||||
val kt3 = KtClass.Inner.foo()
|
||||
val kt4 = KtObject.Inner.foo()
|
||||
val kt5 = KtClass.foo()
|
||||
val kt6 = KtClass
|
||||
val kt7 = KtClass
|
||||
|
||||
val kt8 = Bar
|
||||
val kt9 = Bar
|
||||
val kt10 = Bar.c
|
||||
}
|
||||
+10
-1
@@ -11,8 +11,17 @@ class <caret>Foo {
|
||||
val kt2 = KtObject.foo()
|
||||
val kt3 = KtClass.Inner.foo()
|
||||
val kt4 = KtObject.Inner.foo()
|
||||
val kt5 = KtClass.Default.foo()
|
||||
val kt6 = KtClass.Default
|
||||
val kt7 = KtClass
|
||||
|
||||
val kt8 = Bar
|
||||
val kt9 = Bar.Default
|
||||
val kt10 = Bar.Default.c
|
||||
}
|
||||
|
||||
class Bar {
|
||||
|
||||
class object {
|
||||
val c : Int
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,34 @@
|
||||
package p.q
|
||||
|
||||
<selection>fun foo(): Int {
|
||||
<selection>fun foo(myC: p.q.MyClass, def: p.q.MyClass.Default, nes: p.q.MyClass.Default.Nested) {
|
||||
p.q.MyClass.Default.foo()
|
||||
p.q.MyClass.Default.coProp
|
||||
p.q.MyClass.Default
|
||||
p.q.MyClass
|
||||
p.q.MyClass.coProp
|
||||
p.q.MyClass.foo()
|
||||
return p.q.MyClass.coProp + 10
|
||||
p.q.MyClass.bar(p.q.MyClass.Default)
|
||||
p.q.MyClass.bar(p.q.MyClass)
|
||||
p.q.MyClass.Default.Nested.Default
|
||||
p.q.MyClass.Default.Nested.Default.c
|
||||
MyClass.Default
|
||||
}</selection>
|
||||
|
||||
class MyClass {
|
||||
class object {
|
||||
val coProp = 1
|
||||
|
||||
class Nested {
|
||||
class object {
|
||||
val c: Int = 1
|
||||
}
|
||||
}
|
||||
|
||||
fun foo() {
|
||||
|
||||
}
|
||||
|
||||
fun bar(p: MyClass.Default) {
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,34 @@
|
||||
package p.q
|
||||
|
||||
fun foo(): Int {
|
||||
fun foo(myC: MyClass, def: MyClass.Default, nes: MyClass.Default.Nested) {
|
||||
MyClass.foo()
|
||||
return MyClass.coProp + 10
|
||||
MyClass.coProp
|
||||
MyClass
|
||||
MyClass
|
||||
MyClass.coProp
|
||||
MyClass.foo()
|
||||
MyClass.bar(MyClass)
|
||||
MyClass.bar(MyClass)
|
||||
MyClass.Default.Nested
|
||||
MyClass.Default.Nested.c
|
||||
MyClass
|
||||
}
|
||||
|
||||
class MyClass {
|
||||
class object {
|
||||
val coProp = 1
|
||||
|
||||
class Nested {
|
||||
class object {
|
||||
val c: Int = 1
|
||||
}
|
||||
}
|
||||
|
||||
fun foo() {
|
||||
|
||||
}
|
||||
|
||||
fun bar(p: MyClass.Default) {
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user