View Javadoc
1 package test.net.sourceforge.pmd.symboltable; 2 3 import junit.framework.TestCase; 4 import net.sourceforge.pmd.ast.ASTName; 5 import net.sourceforge.pmd.ast.ASTPrimaryExpression; 6 import net.sourceforge.pmd.ast.ASTPrimaryPrefix; 7 import net.sourceforge.pmd.ast.ASTPrimarySuffix; 8 import net.sourceforge.pmd.symboltable.NameOccurrence; 9 import net.sourceforge.pmd.symboltable.NameOccurrences; 10 11 public class NameOccurrencesTest extends TestCase { 12 13 14 public void testNameLinkage() { 15 ASTPrimaryExpression primary = new ASTPrimaryExpression(1); 16 primary.testingOnly__setBeginLine(10); 17 ASTPrimaryPrefix prefix = new ASTPrimaryPrefix(2); 18 prefix.setUsesThisModifier(); 19 prefix.testingOnly__setBeginLine(10); 20 primary.jjtAddChild(prefix, 0); 21 ASTPrimarySuffix suffix = new ASTPrimarySuffix(3); 22 suffix.setImage("x"); 23 suffix.testingOnly__setBeginLine(10); 24 primary.jjtAddChild(suffix, 1); 25 26 NameOccurrences occs = new NameOccurrences(primary); 27 NameOccurrence thisOcc = (NameOccurrence) occs.iterator().next(); 28 NameOccurrence xOcc = (NameOccurrence) occs.getNames().get(1); 29 assertEquals(thisOcc.getNameForWhichThisIsAQualifier(), xOcc); 30 } 31 32 // super 33 public void testSuper() { 34 ASTPrimaryExpression primary = new ASTPrimaryExpression(1); 35 primary.testingOnly__setBeginLine(10); 36 ASTPrimaryPrefix prefix = new ASTPrimaryPrefix(2); 37 prefix.setUsesSuperModifier(); 38 prefix.testingOnly__setBeginLine(10); 39 primary.jjtAddChild(prefix, 0); 40 41 NameOccurrences occs = new NameOccurrences(primary); 42 assertEquals("super", ((NameOccurrence) occs.getNames().get(0)).getImage()); 43 } 44 45 // this 46 public void testThis() { 47 ASTPrimaryExpression primary = new ASTPrimaryExpression(1); 48 primary.testingOnly__setBeginLine(10); 49 ASTPrimaryPrefix prefix = new ASTPrimaryPrefix(2); 50 prefix.setUsesThisModifier(); 51 prefix.testingOnly__setBeginLine(10); 52 primary.jjtAddChild(prefix, 0); 53 54 NameOccurrences occs = new NameOccurrences(primary); 55 assertEquals("this", ((NameOccurrence) occs.getNames().get(0)).getImage()); 56 } 57 58 // this.x 59 public void testFieldWithThis() { 60 ASTPrimaryExpression primary = new ASTPrimaryExpression(1); 61 primary.testingOnly__setBeginLine(10); 62 ASTPrimaryPrefix prefix = new ASTPrimaryPrefix(2); 63 prefix.setUsesThisModifier(); 64 prefix.testingOnly__setBeginLine(10); 65 primary.jjtAddChild(prefix, 0); 66 ASTPrimarySuffix suffix = new ASTPrimarySuffix(3); 67 suffix.setImage("x"); 68 suffix.testingOnly__setBeginLine(10); 69 primary.jjtAddChild(suffix, 1); 70 71 NameOccurrences occs = new NameOccurrences(primary); 72 assertEquals("this", ((NameOccurrence) occs.getNames().get(0)).getImage()); 73 assertEquals("x", ((NameOccurrence) occs.getNames().get(1)).getImage()); 74 } 75 76 // x 77 public void testField() { 78 ASTPrimaryExpression primary = new ASTPrimaryExpression(1); 79 primary.testingOnly__setBeginLine(10); 80 ASTPrimaryPrefix prefix = new ASTPrimaryPrefix(2); 81 prefix.testingOnly__setBeginLine(10); 82 primary.jjtAddChild(prefix, 0); 83 ASTName name = new ASTName(3); 84 name.setImage("x"); 85 prefix.jjtAddChild(name, 0); 86 87 NameOccurrences occs = new NameOccurrences(primary); 88 assertEquals("x", ((NameOccurrence) occs.getNames().get(0)).getImage()); 89 } 90 91 92 }

This page was automatically generated by Maven