Find Usages: Support of secondary constructors and delegation calls

This commit is contained in:
Alexey Sedunov
2015-03-19 21:08:52 +03:00
parent 312a1db273
commit d19e6337a3
28 changed files with 342 additions and 27 deletions
@@ -0,0 +1,7 @@
// PSI_ELEMENT: com.intellij.psi.PsiMethod
// OPTIONS: usages
public class J {
public <caret>J(int i) {
}
}
@@ -0,0 +1,13 @@
class A: J {
constructor(): super(1) {
}
}
class B: J(1) {
}
fun test() {
J(2)
}
@@ -0,0 +1,3 @@
New instance creation (12: 5) J(2)
Supertype (7: 10) class B: J(1) {
Unclassified usage (2: 20) constructor(): super(1) {
@@ -0,0 +1,7 @@
// PSI_ELEMENT: com.intellij.psi.PsiMethod
// OPTIONS: usages
public class J {
public <caret>J() {
}
}
@@ -0,0 +1,17 @@
class A: J {
constructor(i: Int): super() {
}
constructor() {
}
}
class B: J() {
}
fun test() {
J()
}
@@ -0,0 +1,4 @@
New instance creation (16: 5) J()
Supertype (11: 10) class B: J() {
Unclassified usage (2: 26) constructor(i: Int): super() {
Unclassified usage (6: 19) constructor() {
@@ -0,0 +1,12 @@
// PSI_ELEMENT: com.intellij.psi.PsiMethod
// FIND_BY_REF
// OPTIONS: usages
public class JJ extends B {
public JJ(int i) {
super("");
}
void test() {
new <caret>B("");
}
}
@@ -0,0 +1,23 @@
open class B {
constructor(): this("") {
}
constructor(s: String) {
}
}
open class A : B {
constructor(a: Int) : super("") {
}
}
class C : B("") {
}
fun test() {
B("")
}
@@ -0,0 +1,6 @@
New instance creation (10: 13) new B("");
New instance creation (22: 5) B("")
Supertype (17: 11) class C : B("") {
Unclassified usage (12: 27) constructor(a: Int) : super("") {
Unclassified usage (2: 20) constructor(): this("") {
Unclassified usage (6: 9) super("");
@@ -0,0 +1,12 @@
// PSI_ELEMENT: com.intellij.psi.PsiMethod
// FIND_BY_REF
// OPTIONS: usages
public class JJ extends B {
public JJ(int i) {
<caret>super("");
}
void test() {
new B("");
}
}
@@ -0,0 +1,23 @@
open class B {
constructor(): this("") {
}
constructor(s: String) {
}
}
open class A : B {
constructor(a: Int) : super("") {
}
}
class C : B("") {
}
fun test() {
B("")
}
@@ -0,0 +1,6 @@
New instance creation (10: 13) new B("");
New instance creation (22: 5) B("")
Supertype (17: 11) class C : B("") {
Unclassified usage (12: 27) constructor(a: Int) : super("") {
Unclassified usage (2: 20) constructor(): this("") {
Unclassified usage (6: 9) super("");