AstVisitable.java
biz/hammurapi/antlr/AstVisitable.java
Violations
Inspector |
Message |
Severity |
Location |
Java Inspector 048 |
Copyrights information should be present in each file. |
1 |
|
Java Inspector 089 |
Undocumented method |
2 |
40:9
|
Java Inspector 089 |
Constructor is not properly documented |
2 |
72:9
|
Java Inspector 089 |
Parameter node is not documented |
2 |
72:9
|
Java Inspector 089 |
Undocumented parameter withSiblings |
2 |
72:9
|
Java Inspector 040 |
Parameter name node clashes with field name in AstVisitable |
3 |
55:32
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23package biz.hammurapi.antlr;
24
25import antlr.collections.AST;
26import biz.hammurapi.util.PoliteVisitor;
27import biz.hammurapi.util.Visitable;
28import biz.hammurapi.util.Visitor;
29
30
31
32
33
34
35
36public class AstVisitable implements Visitable {
37 private AST node;
38 private boolean withSiblings;
39
40 public boolean accept(Visitor visitor) {
41 if (withSiblings) {
42 for (AST ast=node; ast!=null; ast=ast.getNextSibling()) {
43 accept(ast, visitor);
44 }
45 return true;
46 }
47
48 return accept(node, visitor);
49 }
50
51
52
53
54
55 private boolean accept(AST node, Visitor visitor) {
56 if (visitor.visit(node)) {
57 for (AST child=node.getFirstChild(); child!=null; child=child.getNextSibling()) {
58 accept(child, visitor);
59 }
60 if (visitor instanceof PoliteVisitor) {
61 ((PoliteVisitor) visitor).leave(node);
62 }
63 return true;
64 }
65
66 return false;
67 }
68
69
70
71
72 public AstVisitable(AST node, boolean withSiblings) {
73 super();
74 this.node = node;
75 this.withSiblings=withSiblings;
76 }
77}
78