Java, typeres: clean up code

This commit is contained in:
Bendegúz Nagy
2017-06-15 02:48:15 +02:00
parent 68c8fabdf8
commit b8e1738f55
5 changed files with 112 additions and 158 deletions

View File

@ -744,6 +744,12 @@ public class ClassTypeResolverTest {
assertEquals(FieldAccessNested.Nested.class, getChildType(expressions.get(index), 1));
assertEquals(SuperClassA.class, getChildType(expressions.get(index++), 2));
// FieldAccessNested.Nested.this.a = new SuperClassA();
assertEquals(SuperClassA.class, expressions.get(index).getType());
assertEquals(FieldAccessNested.Nested.class, getChildType(expressions.get(index), 0));
assertEquals(FieldAccessNested.Nested.class, getChildType(expressions.get(index), 1));
assertEquals(SuperClassA.class, getChildType(expressions.get(index++), 2));
// Make sure we got them all
assertEquals("All expressions not tested", index, expressions.size());
}

View File

@ -13,11 +13,12 @@ import net.sourceforge.pmd.typeresolution.testdata.dummytypes.SuperClassA;
* Note: inherited fields of a nested class shadow outer scope variables
* Note: only if they are accessible!
*
* TODO: test static field access, array types
* TODO: test static field access, array types, anonymous class
*/
public class FieldAccess extends SuperClassA {
public int field;
public FieldAccess f;
public static int a;
public void foo(FieldAccess param) {
FieldAccess local = null;

View File

@ -29,6 +29,7 @@ public class FieldAccessNested {
a = new SuperClassA();
net.sourceforge.pmd.typeresolution.testdata.FieldAccessNested.Nested.this.a = new SuperClassA();
FieldAccessNested.Nested.this.a = new SuperClassA();
}
}
}

View File

@ -16,13 +16,8 @@ import net.sourceforge.pmd.typeresolution.testdata.dummytypes.SuperClassB2;
*/
public class FieldAccessShadow {
Integer field;
String s2;
public void foo() {
String field;