use of net.sourceforge.pmd.lang.java.ast.ASTFieldDeclaration in project pmd by pmd.
the class SigMaskTest method testFinalFields.
@Test
public void testFinalFields() {
List<ASTFieldDeclaration> nodes = getOrderedNodes(ASTFieldDeclaration.class, TEST_FIELDS);
JavaFieldSigMask mask = new JavaFieldSigMask();
mask.forbidFinal();
for (ASTFieldDeclaration node : nodes) {
if (node.isFinal()) {
assertFalse(mask.covers(JavaFieldSignature.buildFor(node)));
} else {
assertTrue(mask.covers(JavaFieldSignature.buildFor(node)));
}
}
}
use of net.sourceforge.pmd.lang.java.ast.ASTFieldDeclaration in project pmd by pmd.
the class SigMaskTest method testFieldvisibility.
@Test
public void testFieldvisibility() {
List<ASTFieldDeclaration> nodes = getOrderedNodes(ASTFieldDeclaration.class, TEST_FIELDS);
JavaFieldSigMask mask = new JavaFieldSigMask();
mask.restrictVisibilitiesTo(Visibility.PUBLIC);
for (ASTFieldDeclaration node : nodes) {
if (node.isPublic()) {
assertTrue(mask.covers(JavaFieldSignature.buildFor(node)));
} else {
assertFalse(mask.covers(JavaFieldSignature.buildFor(node)));
}
}
mask.restrictVisibilitiesTo(Visibility.PRIVATE);
for (ASTFieldDeclaration node : nodes) {
if (node.isPrivate()) {
assertTrue(mask.covers(JavaFieldSignature.buildFor(node)));
} else {
assertFalse(mask.covers(JavaFieldSignature.buildFor(node)));
}
}
mask.restrictVisibilitiesTo(Visibility.PACKAGE);
for (ASTFieldDeclaration node : nodes) {
if (node.isPackagePrivate()) {
assertTrue(mask.covers(JavaFieldSignature.buildFor(node)));
} else {
assertFalse(mask.covers(JavaFieldSignature.buildFor(node)));
}
}
mask.restrictVisibilitiesTo(Visibility.PROTECTED);
for (ASTFieldDeclaration node : nodes) {
if (node.isProtected()) {
assertTrue(mask.covers(JavaFieldSignature.buildFor(node)));
} else {
assertFalse(mask.covers(JavaFieldSignature.buildFor(node)));
}
}
}
use of net.sourceforge.pmd.lang.java.ast.ASTFieldDeclaration in project pmd by pmd.
the class SignatureTest method visibilityTest.
// common to operation and field signatures
@Test
public void visibilityTest() {
final String TEST = "class Bzaz{ " + "public int bar;" + "String k;" + "protected double d;" + "private int i;" + "protected int x;" + "public Bzaz(){} " + "void bar(){} " + "protected void foo(int x){}" + "private Bzaz(int y){}" + "}";
List<ASTMethodOrConstructorDeclaration> operationDeclarations = getOrderedNodes(ASTMethodOrConstructorDeclaration.class, TEST);
List<ASTFieldDeclaration> fieldDeclarations = getOrderedNodes(ASTFieldDeclaration.class, TEST);
List<JavaSignature> sigs = new ArrayList<>();
for (ASTMethodOrConstructorDeclaration node : operationDeclarations) {
sigs.add(JavaOperationSignature.buildFor(node));
}
// operations
assertEquals(Visibility.PUBLIC, sigs.get(0).visibility);
assertEquals(Visibility.PACKAGE, sigs.get(1).visibility);
assertEquals(Visibility.PROTECTED, sigs.get(2).visibility);
assertEquals(Visibility.PRIVATE, sigs.get(3).visibility);
sigs.clear();
for (ASTFieldDeclaration node : fieldDeclarations) {
sigs.add(JavaFieldSignature.buildFor(node));
}
// fields
assertEquals(Visibility.PUBLIC, sigs.get(0).visibility);
assertEquals(Visibility.PACKAGE, sigs.get(1).visibility);
assertEquals(Visibility.PROTECTED, sigs.get(2).visibility);
assertEquals(Visibility.PRIVATE, sigs.get(3).visibility);
}
use of net.sourceforge.pmd.lang.java.ast.ASTFieldDeclaration in project pmd by pmd.
the class SignatureTest method isStaticFieldTest.
@Test
public void isStaticFieldTest() {
final String TEST = "class Bzaz{" + "public final String x;" + "private int y;" + "private static int a;" + "protected static final double u;" + "static long v;" + "}";
List<ASTFieldDeclaration> nodes = getOrderedNodes(ASTFieldDeclaration.class, TEST);
List<JavaFieldSignature> sigs = new ArrayList<>();
for (ASTFieldDeclaration node : nodes) {
sigs.add(JavaFieldSignature.buildFor(node));
}
assertFalse(sigs.get(0).isStatic);
assertFalse(sigs.get(1).isStatic);
assertTrue(sigs.get(2).isStatic);
assertTrue(sigs.get(3).isStatic);
assertTrue(sigs.get(4).isStatic);
}
Aggregations