1/*
2 * Javassist, a Java-bytecode translator toolkit.
3 * Copyright (C) 1999-2007 Shigeru Chiba. All Rights Reserved.
4 *
5 * The contents of this file are subject to the Mozilla Public License Version
6 * 1.1 (the "License"); you may not use this file except in compliance with
7 * the License.  Alternatively, the contents of this file may be used under
8 * the terms of the GNU Lesser General Public License Version 2.1 or later.
9 *
10 * Software distributed under the License is distributed on an "AS IS" basis,
11 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 * for the specific language governing rights and limitations under the
13 * License.
14 */
15
16package javassist.compiler.ast;
17
18import javassist.compiler.CompileError;
19
20/**
21 * A node of a a binary tree.  This class provides concrete methods
22 * overriding abstract methods in ASTree.
23 */
24public class Pair extends ASTree {
25    protected ASTree left, right;
26
27    public Pair(ASTree _left, ASTree _right) {
28        left = _left;
29        right = _right;
30    }
31
32    public void accept(Visitor v) throws CompileError { v.atPair(this); }
33
34    public String toString() {
35        StringBuffer sbuf = new StringBuffer();
36        sbuf.append("(<Pair> ");
37        sbuf.append(left == null ? "<null>" : left.toString());
38        sbuf.append(" . ");
39        sbuf.append(right == null ? "<null>" : right.toString());
40        sbuf.append(')');
41        return sbuf.toString();
42    }
43
44    public ASTree getLeft() { return left; }
45
46    public ASTree getRight() { return right; }
47
48    public void setLeft(ASTree _left) { left = _left; }
49
50    public void setRight(ASTree _right) { right = _right; }
51}
52