1 |
| |
2 |
| |
3 |
| package net.sourceforge.pmd.ast; |
4 |
| |
5 |
| public class ASTModifiers extends SimpleNode { |
6 |
2
| public ASTModifiers(int id) {
|
7 |
2
| super(id);
|
8 |
| } |
9 |
| |
10 |
2108
| public ASTModifiers(JavaParser p, int id) {
|
11 |
2108
| super(p, id);
|
12 |
| } |
13 |
| |
14 |
0
| public boolean isDiscardable() {
|
15 |
0
| return true;
|
16 |
| } |
17 |
| |
18 |
2096
| public void discardIfNecessary() {
|
19 |
2096
| SimpleNode parent = (SimpleNode)jjtGetParent();
|
20 |
2096
| if (jjtGetNumChildren() > 0 && jjtGetChild(0) instanceof ASTAnnotation) {
|
21 |
6
| super.discardIfNecessary();
|
22 |
2090
| } else if (parent.jjtGetNumChildren() == 2) {
|
23 |
2086
| parent.children = new Node[] {parent.children[1]};
|
24 |
4
| } else if (parent.jjtGetNumChildren() == 3) {
|
25 |
| |
26 |
| |
27 |
0
| parent.children = new Node[] {parent.children[1], parent.children[2]};
|
28 |
4
| } else if (parent.jjtGetNumChildren() == 4) {
|
29 |
| |
30 |
4
| parent.children = new Node[] {parent.children[1], parent.children[2], parent.children[3]};
|
31 |
| } else { |
32 |
0
| throw new RuntimeException("ASTModifiers.discardIfNecessary didn't see expected children");
|
33 |
| } |
34 |
| } |
35 |
| |
36 |
| |
37 |
8
| public Object jjtAccept(JavaParserVisitor visitor, Object data) {
|
38 |
8
| return visitor.visit(this, data);
|
39 |
| } |
40 |
| } |