ALteExpression.java revision 56ed4167b942ec265f9cee70ac4d71d10b3835ce
141d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot/* This file was generated by SableCC (http://www.sablecc.org/). */
241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot
341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabotpackage com.google.clearsilver.jsilver.syntax.node;
41be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
51be2c9def7187e4e643c00a31dd9986395795d7dNicolas Cataniaimport com.google.clearsilver.jsilver.syntax.analysis.*;
61be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
71be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania@SuppressWarnings("nls")
81be2c9def7187e4e643c00a31dd9986395795d7dNicolas Cataniapublic final class ALteExpression extends PExpression
91be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania{
101be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    private PExpression _left_;
111be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    private PExpression _right_;
121be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
131be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    public ALteExpression()
141be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    {
151be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        // Constructor
161be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    }
171be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
181be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    public ALteExpression(
191be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        @SuppressWarnings("hiding") PExpression _left_,
201be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        @SuppressWarnings("hiding") PExpression _right_)
211be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    {
221be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        // Constructor
231be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        setLeft(_left_);
241be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
251be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        setRight(_right_);
261be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
271be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    }
281be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
291be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    @Override
301be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    public Object clone()
311be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    {
321be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        return new ALteExpression(
331be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania            cloneNode(this._left_),
341be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania            cloneNode(this._right_));
351be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    }
361be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
371be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    public void apply(Switch sw)
381be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    {
391be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        ((Analysis) sw).caseALteExpression(this);
401be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    }
411be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
421be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    public PExpression getLeft()
431be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    {
441be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        return this._left_;
451be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    }
461be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
4741d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot    public void setLeft(PExpression node)
481be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    {
4941d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot        if(this._left_ != null)
5041d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot        {
51fc2de66453b0669c09eaca643b07d34443858b6fElliott Hughes            this._left_.parent(null);
5241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot        }
5341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot
5441d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot        if(node != null)
55fc2de66453b0669c09eaca643b07d34443858b6fElliott Hughes        {
561be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania            if(node.parent() != null)
571be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania            {
581be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania                node.parent().removeChild(node);
591be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania            }
601be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
6141d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot            node.parent(this);
6241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot        }
631be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
64fc2de66453b0669c09eaca643b07d34443858b6fElliott Hughes        this._left_ = node;
6541d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot    }
661be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
671be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    public PExpression getRight()
68fc2de66453b0669c09eaca643b07d34443858b6fElliott Hughes    {
691be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        return this._right_;
701be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    }
711be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
72fc2de66453b0669c09eaca643b07d34443858b6fElliott Hughes    public void setRight(PExpression node)
7341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot    {
74fc2de66453b0669c09eaca643b07d34443858b6fElliott Hughes        if(this._right_ != null)
7541d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot        {
76fc2de66453b0669c09eaca643b07d34443858b6fElliott Hughes            this._right_.parent(null);
771be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        }
781be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
7941d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot        if(node != null)
801be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        {
81fc2de66453b0669c09eaca643b07d34443858b6fElliott Hughes            if(node.parent() != null)
8241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot            {
8341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot                node.parent().removeChild(node);
841be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania            }
851be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
8641d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot            node.parent(this);
8741d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot        }
881be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
891be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        this._right_ = node;
9041d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot    }
9141d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot
9241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot    @Override
9341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot    public String toString()
9441d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot    {
9541d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot        return ""
9641d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot            + toString(this._left_)
9741d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot            + toString(this._right_);
9841d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot    }
9941d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot
10041d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot    @Override
10141d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot    void removeChild(@SuppressWarnings("unused") Node child)
10241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot    {
10341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot        // Remove child
1041be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        if(this._left_ == child)
1051be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        {
1061be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania            this._left_ = null;
1071be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania            return;
1081be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        }
1091be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1101be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        if(this._right_ == child)
1111be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        {
1121be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania            this._right_ = null;
1131be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania            return;
1141be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        }
1151be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1161be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        throw new RuntimeException("Not a child.");
1171be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    }
1181be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1191be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    @Override
1201be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild)
1211be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    {
1221be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        // Replace child
1231be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        if(this._left_ == oldChild)
1241be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        {
1251be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania            setLeft((PExpression) newChild);
1261be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania            return;
1271be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        }
1281be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1291be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        if(this._right_ == oldChild)
1301be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        {
1311be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania            setRight((PExpression) newChild);
1321be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania            return;
1331be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        }
1341be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1351be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania        throw new RuntimeException("Not a child.");
1361be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania    }
1371be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania}
1381be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania