Skip to content

Commit edb36c0

Browse files
committed
GROOVY-11356
1 parent 2927b89 commit edb36c0

6 files changed

Lines changed: 287 additions & 70 deletions

File tree

base-test/org.eclipse.jdt.groovy.core.tests.builder/src/org/eclipse/jdt/core/groovy/tests/search/InferencingTests.java

Lines changed: 88 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1142,7 +1142,7 @@ public void testSuperFieldReference1() {
11421142
}
11431143

11441144
@Test
1145-
public void testSuperFieldReference1a() {
1145+
public void testSuperFieldReference2() {
11461146
String contents =
11471147
"class A {\n" +
11481148
" public Number field\n" +
@@ -1156,7 +1156,7 @@ public void testSuperFieldReference1a() {
11561156
}
11571157

11581158
@Test
1159-
public void testSuperFieldReference1b() {
1159+
public void testSuperFieldReference3() {
11601160
String contents =
11611161
"class A {\n" +
11621162
" public Number field\n" +
@@ -1170,7 +1170,7 @@ public void testSuperFieldReference1b() {
11701170
}
11711171

11721172
@Test
1173-
public void testSuperFieldReference1c() {
1173+
public void testSuperFieldReference4() {
11741174
String contents =
11751175
"class A {\n" +
11761176
" public Number field\n" +
@@ -1184,7 +1184,7 @@ public void testSuperFieldReference1c() {
11841184
}
11851185

11861186
@Test
1187-
public void testSuperFieldReference1d() {
1187+
public void testSuperFieldReference5() {
11881188
String contents =
11891189
"class A {\n" +
11901190
" public Number field\n" +
@@ -1198,7 +1198,7 @@ public void testSuperFieldReference1d() {
11981198
}
11991199

12001200
@Test
1201-
public void testSuperFieldReference2() {
1201+
public void testSuperFieldReference6() {
12021202
String contents =
12031203
"class A {\n" +
12041204
" protected Number field\n" +
@@ -1212,7 +1212,7 @@ public void testSuperFieldReference2() {
12121212
}
12131213

12141214
@Test
1215-
public void testSuperFieldReference2a() {
1215+
public void testSuperFieldReference7() {
12161216
String contents =
12171217
"class A {\n" +
12181218
" protected Number field\n" +
@@ -1226,7 +1226,7 @@ public void testSuperFieldReference2a() {
12261226
}
12271227

12281228
@Test
1229-
public void testSuperFieldReference2b() {
1229+
public void testSuperFieldReference8() {
12301230
String contents =
12311231
"class A {\n" +
12321232
" protected Number field\n" +
@@ -1240,7 +1240,7 @@ public void testSuperFieldReference2b() {
12401240
}
12411241

12421242
@Test
1243-
public void testSuperFieldReference2c() {
1243+
public void testSuperFieldReference9() {
12441244
String contents =
12451245
"class A {\n" +
12461246
" protected Number field\n" +
@@ -1254,7 +1254,7 @@ public void testSuperFieldReference2c() {
12541254
}
12551255

12561256
@Test
1257-
public void testSuperFieldReference2d() {
1257+
public void testSuperFieldReference10() {
12581258
String contents =
12591259
"class A {\n" +
12601260
" protected Number field\n" +
@@ -1268,7 +1268,7 @@ public void testSuperFieldReference2d() {
12681268
}
12691269

12701270
@Test // https://github.com/groovy/groovy-eclipse/issues/815
1271-
public void testSuperFieldReference3() {
1271+
public void testSuperFieldReference11() {
12721272
String contents =
12731273
"class A {\n" +
12741274
" private String field\n" +
@@ -1282,7 +1282,7 @@ public void testSuperFieldReference3() {
12821282
}
12831283

12841284
@Test // https://github.com/groovy/groovy-eclipse/issues/815
1285-
public void testSuperFieldReference3a() {
1285+
public void testSuperFieldReference12() {
12861286
String contents =
12871287
"class A {\n" +
12881288
" private Number field\n" +
@@ -1296,7 +1296,7 @@ public void testSuperFieldReference3a() {
12961296
}
12971297

12981298
@Test // https://github.com/groovy/groovy-eclipse/issues/815
1299-
public void testSuperFieldReference3b() {
1299+
public void testSuperFieldReference13() {
13001300
String contents =
13011301
"class A {\n" +
13021302
" private Number field\n" +
@@ -1310,7 +1310,7 @@ public void testSuperFieldReference3b() {
13101310
}
13111311

13121312
@Test // https://github.com/groovy/groovy-eclipse/issues/815
1313-
public void testSuperFieldReference3c() {
1313+
public void testSuperFieldReference14() {
13141314
String contents =
13151315
"class A {\n" +
13161316
" private Number field\n" +
@@ -1324,7 +1324,7 @@ public void testSuperFieldReference3c() {
13241324
}
13251325

13261326
@Test // https://github.com/groovy/groovy-eclipse/issues/815
1327-
public void testSuperFieldReference3d() {
1327+
public void testSuperFieldReference15() {
13281328
String contents =
13291329
"class A {\n" +
13301330
" private Number field\n" +
@@ -1338,7 +1338,7 @@ public void testSuperFieldReference3d() {
13381338
}
13391339

13401340
@Test
1341-
public void testSuperFieldReference4() {
1341+
public void testSuperFieldReference16() {
13421342
String contents =
13431343
"public interface Constants {\n" +
13441344
" int FIRST = 1;\n" +
@@ -1352,7 +1352,7 @@ public void testSuperFieldReference4() {
13521352
}
13531353

13541354
@Test
1355-
public void testSuperFieldReference5() {
1355+
public void testSuperFieldReference17() {
13561356
createJavaUnit("foo", "Bar",
13571357
"package foo;\n" +
13581358
"public class Bar {\n" +
@@ -1371,7 +1371,7 @@ public void testSuperFieldReference5() {
13711371
}
13721372

13731373
@Test
1374-
public void testSuperFieldReference5a() {
1374+
public void testSuperFieldReference18() {
13751375
createJavaUnit("foo", "Bar",
13761376
"package foo;\n" +
13771377
"public class Bar {\n" +
@@ -1390,7 +1390,7 @@ public void testSuperFieldReference5a() {
13901390
}
13911391

13921392
@Test
1393-
public void testSuperFieldReference5b() {
1393+
public void testSuperFieldReference19() {
13941394
createJavaUnit("foo", "Bar",
13951395
"package foo;\n" +
13961396
"public class Bar {\n" +
@@ -1500,7 +1500,7 @@ public void testSuperPropertyReference6() {
15001500
}
15011501

15021502
@Test // GROOVY-1736
1503-
public void testSuperPropertyReference6a() {
1503+
public void testSuperPropertyReference7() {
15041504
for (String qual : new String[] {"", "this.", "super."}) {
15051505
String contents =
15061506
"class A {\n" +
@@ -1522,7 +1522,7 @@ public void testSuperPropertyReference6a() {
15221522
}
15231523

15241524
@Test
1525-
public void testSuperPropertyReference6b() {
1525+
public void testSuperPropertyReference8() {
15261526
for (String qual : new String[] {"", "this.", "super."}) {
15271527
String contents =
15281528
"class A {\n" +
@@ -1540,7 +1540,7 @@ public void testSuperPropertyReference6b() {
15401540
}
15411541

15421542
@Test // isX only applies to [Bb]oolean
1543-
public void testSuperPropertyReference7() {
1543+
public void testSuperPropertyReference9() {
15441544
for (String qual : new String[] {"", "this.", "super."}) {
15451545
String contents =
15461546
"class A {\n" +
@@ -1558,7 +1558,7 @@ public void testSuperPropertyReference7() {
15581558
}
15591559

15601560
@Test
1561-
public void testSuperPropertyReference8() {
1561+
public void testSuperPropertyReference10() {
15621562
for (String qual : new String[] {"", "this.", "super."}) {
15631563
String contents =
15641564
"class A {\n" +
@@ -1578,7 +1578,7 @@ public void testSuperPropertyReference8() {
15781578
}
15791579

15801580
@Test // GROOVY-6097
1581-
public void testSuperPropertyReference9() {
1581+
public void testSuperPropertyReference11() {
15821582
for (String qual : new String[] {"", "this.", "super."}) {
15831583
String contents =
15841584
"class A {\n" +
@@ -1602,7 +1602,7 @@ public void testSuperPropertyReference9() {
16021602
}
16031603

16041604
@Test
1605-
public void testSuperPropertyReference9a() {
1605+
public void testSuperPropertyReference12() {
16061606
for (String qual : new String[] {"", "this.", "super."}) {
16071607
String contents =
16081608
"class A {\n" +
@@ -1622,6 +1622,70 @@ public void testSuperPropertyReference9a() {
16221622
}
16231623
}
16241624

1625+
@Test
1626+
public void testSuperPropertyReference13() {
1627+
for (String mods : new String[] {"", "public ", "protected "}) {
1628+
createJavaUnit("A",
1629+
"public abstract class A {\n" +
1630+
" " + mods + "int getValue() {\n" +
1631+
" return 0;\n" +
1632+
" }\n" +
1633+
"}\n");
1634+
1635+
String contents =
1636+
"class B extends A {\n" +
1637+
" void test() {\n" +
1638+
" value\n" +
1639+
" getValue()\n" +
1640+
" }\n" +
1641+
"}\n";
1642+
int offset = contents.lastIndexOf("value");
1643+
assertDeclaration(contents, offset, offset + 5, "A", "getValue", DeclarationKind.METHOD);
1644+
/**/offset = contents.lastIndexOf("getValue");
1645+
assertDeclaration(contents, offset, offset + 8, "A", "getValue", DeclarationKind.METHOD);
1646+
}
1647+
}
1648+
1649+
@Test
1650+
public void testSuperPropertyReference14() {
1651+
for (String mods : new String[] {"", "public ", "protected "}) {
1652+
createJavaUnit("p", "A",
1653+
"public abstract class A {\n" +
1654+
" " + mods + "int getValue() {\n" +
1655+
" return 0;\n" +
1656+
" }\n" +
1657+
"}\n");
1658+
1659+
String contents =
1660+
"class B extends p.A {\n" +
1661+
" void test() {\n" +
1662+
" value\n" +
1663+
" getValue()\n" +
1664+
" }\n" +
1665+
"}\n";
1666+
int offset = contents.lastIndexOf("value");
1667+
assertDeclaration(contents, offset, offset + 5, "p.A", "getValue", DeclarationKind.METHOD);
1668+
/**/offset = contents.lastIndexOf("getValue");
1669+
assertDeclaration(contents, offset, offset + 8, "p.A", "getValue", DeclarationKind.METHOD);
1670+
}
1671+
}
1672+
1673+
@Test // GROOVY-11356
1674+
public void testSuperPropertyReference15() {
1675+
String contents =
1676+
"class A {\n" +
1677+
" private getValue() {}\n" +
1678+
"}\n" +
1679+
"class B extends A {\n" +
1680+
" void test() {\n" +
1681+
" value\n" +
1682+
" getValue()\n" +
1683+
" }\n" +
1684+
"}\n";
1685+
assertUnknown(contents, "value");
1686+
assertUnknown(contents, "getValue");
1687+
}
1688+
16251689
@Test
16261690
public void testSuperClassMethod1() {
16271691
String contents =

0 commit comments

Comments
 (0)