AstVisualizable.java

biz/hammurapi/antlr/AstVisualizable.java

Violations

Inspector Message Severity Location
Java Inspector 048 Copyrights information should be present in each file. 1
Java Inspector 049 Use a Collection instead of arrays Object[] 2 18:9
Java Inspector 089 Undocumented top level type 2 15:1
Java Inspector 089 Undocumented constructor 2 21:9
Java Inspector 089 Undocumented method 2 28:9
Java Inspector 089 Undocumented method 2 36:9
Java Inspector 025 Avoid hardwired numeric literals. Allowed literals: [1, -1, 0] 3 37:61
Java Inspector 025 Avoid hardwired numeric literals. Allowed literals: [1, -1, 0] 3 37:64
Java Inspector 025 Avoid hardwired numeric literals. Allowed literals: [1, -1, 0] 3 42:29
Java Inspector 025 Avoid hardwired numeric literals. Allowed literals: [1, -1, 0] 3 43:29
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 22:45
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 39:56
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 39:68
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 40:32
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 41:32
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 42:32
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 43:32

Source code

1package biz.hammurapi.antlr;
2
3import java.util.ArrayList;
4import java.util.List;
5
6import antlr.collections.AST;
7
8import javax.swing.table.DefaultTableModel;
9import javax.swing.table.TableModel;
10import javax.swing.tree.TreeNode;
11
12import biz.hammurapi.swing.LazyTreeNode;
13import biz.hammurapi.swing.TableVisualizable;
14
15public class AstVisualizable extends LazyTreeNode implements TableVisualizable {
16
17 private AST ast;
18 private String[] tokenNames;
19 private boolean withSiblings;
20
21 public AstVisualizable(TreeNode parent, AST ast, String[] names, boolean withSiblings) {
22 super(parent, withSiblings? "Syntax Tree" : names[ast.getType()]);
23 this.ast = ast;
24 tokenNames = names;
25 this.withSiblings = withSiblings;
26 }
27
28 protected List loadChildren() {
29 List ret = new ArrayList();
30 for (AST child= withSiblings ? ast : ast.getFirstChild(); child!=null; child= child.getNextSibling()) {
31 ret.add(new AstVisualizable(this, child, tokenNames, false));
32 }
33 return ret;
34 }
35
36 public TableModel toTable() {
37 DefaultTableModel ret=new DefaultTableModel(4, 2);
38
39 ret.setColumnIdentifiers(new String[] {"Property", "Value"});
40 setRow(ret, 0, "Type", tokenNames[ast.getType()]);
41 setRow(ret, 1, "Text", ast.getText());
42 setRow(ret, 2, "Line", String.valueOf(ast.getLine()));
43 setRow(ret, 3, "Column", String.valueOf(ast.getColumn()));
44
45 return ret;
46 }
47
48 private static void setRow(DefaultTableModel ret, int row, String name, Object value) {
49 ret.setValueAt(name, row, 0);
50 ret.setValueAt(value, row, 1);
51 }
52
53}
54