156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson/* This file was generated by SableCC (http://www.sablecc.org/). */
256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodsonpackage com.google.clearsilver.jsilver.syntax.node;
456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodsonimport com.google.clearsilver.jsilver.syntax.analysis.*;
656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson@SuppressWarnings("nls")
856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodsonpublic final class ALteExpression extends PExpression
956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson{
1056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    private PExpression _left_;
1156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    private PExpression _right_;
1256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
1356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public ALteExpression()
1456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
1556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        // Constructor
1656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
1756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
1856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public ALteExpression(
1956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        @SuppressWarnings("hiding") PExpression _left_,
2056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        @SuppressWarnings("hiding") PExpression _right_)
2156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
2256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        // Constructor
2356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        setLeft(_left_);
2456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
2556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        setRight(_right_);
2656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
2756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
2856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
2956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
3056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public Object clone()
3156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
3256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        return new ALteExpression(
3356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            cloneNode(this._left_),
3456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            cloneNode(this._right_));
3556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
3656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
3756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void apply(Switch sw)
3856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
3956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        ((Analysis) sw).caseALteExpression(this);
4056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
4156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
4256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public PExpression getLeft()
4356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
4456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        return this._left_;
4556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
4656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
4756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void setLeft(PExpression node)
4856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
4956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(this._left_ != null)
5056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
5156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            this._left_.parent(null);
5256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
5356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
5456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node != null)
5556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
5656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            if(node.parent() != null)
5756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            {
5856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson                node.parent().removeChild(node);
5956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            }
6056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
6156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.parent(this);
6256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
6356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
6456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        this._left_ = node;
6556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
6656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
6756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public PExpression getRight()
6856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
6956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        return this._right_;
7056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
7156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
7256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void setRight(PExpression node)
7356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
7456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(this._right_ != null)
7556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
7656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            this._right_.parent(null);
7756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
7856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
7956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node != null)
8056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
8156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            if(node.parent() != null)
8256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            {
8356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson                node.parent().removeChild(node);
8456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            }
8556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
8656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.parent(this);
8756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
8856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
8956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        this._right_ = node;
9056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
9156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
9256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
9356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public String toString()
9456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
9556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        return ""
9656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            + toString(this._left_)
9756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            + toString(this._right_);
9856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
9956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
10056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
10156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    void removeChild(@SuppressWarnings("unused") Node child)
10256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
10356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        // Remove child
10456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(this._left_ == child)
10556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
10656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            this._left_ = null;
10756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            return;
10856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
10956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
11056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(this._right_ == child)
11156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
11256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            this._right_ = null;
11356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            return;
11456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
11556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
11656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        throw new RuntimeException("Not a child.");
11756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
11856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
11956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
12056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild)
12156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
12256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        // Replace child
12356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(this._left_ == oldChild)
12456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
12556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            setLeft((PExpression) newChild);
12656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            return;
12756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
12856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
12956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(this._right_ == oldChild)
13056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
13156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            setRight((PExpression) newChild);
13256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            return;
13356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
13456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
13556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        throw new RuntimeException("Not a child.");
13656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
13756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson}
138