1 /***
2 * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3 */
4 package test.net.sourceforge.pmd.symboltable;
5
6 import net.sourceforge.pmd.PMD;
7 import net.sourceforge.pmd.ast.ASTMethodDeclaration;
8 import net.sourceforge.pmd.symboltable.Scope;
9 import net.sourceforge.pmd.symboltable.VariableNameDeclaration;
10
11 import java.util.Iterator;
12 import java.util.Map;
13
14 public class AcceptanceTest extends STBBaseTst {
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 public void testDemo() {
58 parseCode(TEST_DEMO);
59 System.out.println(TEST_DEMO);
60 ASTMethodDeclaration node = (ASTMethodDeclaration)acu.findChildrenOfType(ASTMethodDeclaration.class).get(0);
61 Scope s = node.getScope();
62 Map m = s.getVariableDeclarations();
63 for (Iterator i = m.keySet().iterator(); i.hasNext();) {
64 VariableNameDeclaration d = (VariableNameDeclaration)i.next();
65 System.out.println("Variable: " + d.getImage());
66 System.out.println("Type: " + d.getTypeImage());
67 }
68 }
69
70
71
72
73
74
75
76
77 private static final String TEST_DEMO =
78 "public class Foo {" + PMD.EOL +
79 " void bar(ArrayList buz) { " + PMD.EOL +
80 " } " + PMD.EOL +
81 "}" + PMD.EOL;
82
83 private static final String TEST_EQ =
84 "public class Foo {" + PMD.EOL +
85 " boolean foo(String a, String b) { " + PMD.EOL +
86 " return a == b; " + PMD.EOL +
87 " } " + PMD.EOL +
88 "}" + PMD.EOL;
89
90 private static final String TEST1 =
91 "import java.io.*;" + PMD.EOL +
92 "public class Foo {" + PMD.EOL +
93 " void buz( ) {" + PMD.EOL +
94 " Object o = new Serializable() { int x; };" + PMD.EOL +
95 " Object o1 = new Serializable() { int x; };" + PMD.EOL +
96 " }" + PMD.EOL +
97 "}" + PMD.EOL;
98
99 private static final String TEST_INITIALIZERS =
100 "public class Foo {" + PMD.EOL +
101 " {} " + PMD.EOL +
102 " static {} " + PMD.EOL +
103 "}" + PMD.EOL;
104
105 private static final String TEST_CATCH_BLOCKS =
106 "public class Foo {" + PMD.EOL +
107 " void foo() { " + PMD.EOL +
108 " try { " + PMD.EOL +
109 " } catch (Exception e) { " + PMD.EOL +
110 " e.printStackTrace(); " + PMD.EOL +
111 " } " + PMD.EOL +
112 " } " + PMD.EOL +
113 "}" + PMD.EOL;
114
115
116 }