- public Tree(Input.Region loc, NodeType head) { this(loc, head, new Tree[0]); }
- public Tree(Input.Region loc, NodeType head, Tree<NodeType>[] children) { this(loc, head, children, new boolean[children==null?0:children.length]); }
+ public Tree(Input.Region loc, NodeType head) {
+ location = loc;
+ ihead = head;
+ children = emptyTree;
+ }
+ public Tree(Input.Region loc, NodeType head, List<Tree<NodeType>> kids){
+ location = loc;
+ ihead = head;
+ if (kids.size() == 0)
+ children = emptyTree;
+ else {
+ children = new Tree[kids.size()];
+ kids.toArray(children);
+ }
+ }
+ public Tree(Input.Region loc, NodeType head, Tree<NodeType>[] kids) {
+ location = loc;
+ ihead = head;
+ children = (kids == null ? emptyTree : kids.clone());
+ }