KT-18538 Unwrap fake override in ShortenReferences

- Fake override prevents reference shortener from shortening of static
methods declared in the class bases when they are located not in
direct parent of the class (for example, in grand-
or grand-grand-parent)
- The completion uses descriptor with unwrapped fake override when it
performs the insertion. It leads to inserting the name of the base which
actually contains the static method instead of the direct parent class.
Now, when reference shortener compares unwrapped descriptors, this
problem should be fixed during insertion handling
This commit is contained in:
Roman Golyshev
2020-05-27 14:16:18 +03:00
parent 43bbfa78d1
commit 2c12d26d28
16 changed files with 83 additions and 10 deletions
@@ -0,0 +1,9 @@
public class Container {
public static class GrandBase {
public static void foo() {}
}
public static class Base extends GrandBase {
public static void foo() {}
}
}