Home | History | Annotate | Download | only in node
      1 /* This file was generated by SableCC (http://www.sablecc.org/). */
      2 
      3 package com.google.clearsilver.jsilver.syntax.node;
      4 
      5 import com.google.clearsilver.jsilver.syntax.analysis.*;
      6 
      7 @SuppressWarnings("nls")
      8 public final class AAltCommand extends PCommand
      9 {
     10     private PPosition _position_;
     11     private PExpression _expression_;
     12     private PCommand _command_;
     13 
     14     public AAltCommand()
     15     {
     16         // Constructor
     17     }
     18 
     19     public AAltCommand(
     20         @SuppressWarnings("hiding") PPosition _position_,
     21         @SuppressWarnings("hiding") PExpression _expression_,
     22         @SuppressWarnings("hiding") PCommand _command_)
     23     {
     24         // Constructor
     25         setPosition(_position_);
     26 
     27         setExpression(_expression_);
     28 
     29         setCommand(_command_);
     30 
     31     }
     32 
     33     @Override
     34     public Object clone()
     35     {
     36         return new AAltCommand(
     37             cloneNode(this._position_),
     38             cloneNode(this._expression_),
     39             cloneNode(this._command_));
     40     }
     41 
     42     public void apply(Switch sw)
     43     {
     44         ((Analysis) sw).caseAAltCommand(this);
     45     }
     46 
     47     public PPosition getPosition()
     48     {
     49         return this._position_;
     50     }
     51 
     52     public void setPosition(PPosition node)
     53     {
     54         if(this._position_ != null)
     55         {
     56             this._position_.parent(null);
     57         }
     58 
     59         if(node != null)
     60         {
     61             if(node.parent() != null)
     62             {
     63                 node.parent().removeChild(node);
     64             }
     65 
     66             node.parent(this);
     67         }
     68 
     69         this._position_ = node;
     70     }
     71 
     72     public PExpression getExpression()
     73     {
     74         return this._expression_;
     75     }
     76 
     77     public void setExpression(PExpression node)
     78     {
     79         if(this._expression_ != null)
     80         {
     81             this._expression_.parent(null);
     82         }
     83 
     84         if(node != null)
     85         {
     86             if(node.parent() != null)
     87             {
     88                 node.parent().removeChild(node);
     89             }
     90 
     91             node.parent(this);
     92         }
     93 
     94         this._expression_ = node;
     95     }
     96 
     97     public PCommand getCommand()
     98     {
     99         return this._command_;
    100     }
    101 
    102     public void setCommand(PCommand node)
    103     {
    104         if(this._command_ != null)
    105         {
    106             this._command_.parent(null);
    107         }
    108 
    109         if(node != null)
    110         {
    111             if(node.parent() != null)
    112             {
    113                 node.parent().removeChild(node);
    114             }
    115 
    116             node.parent(this);
    117         }
    118 
    119         this._command_ = node;
    120     }
    121 
    122     @Override
    123     public String toString()
    124     {
    125         return ""
    126             + toString(this._position_)
    127             + toString(this._expression_)
    128             + toString(this._command_);
    129     }
    130 
    131     @Override
    132     void removeChild(@SuppressWarnings("unused") Node child)
    133     {
    134         // Remove child
    135         if(this._position_ == child)
    136         {
    137             this._position_ = null;
    138             return;
    139         }
    140 
    141         if(this._expression_ == child)
    142         {
    143             this._expression_ = null;
    144             return;
    145         }
    146 
    147         if(this._command_ == child)
    148         {
    149             this._command_ = null;
    150             return;
    151         }
    152 
    153         throw new RuntimeException("Not a child.");
    154     }
    155 
    156     @Override
    157     void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild)
    158     {
    159         // Replace child
    160         if(this._position_ == oldChild)
    161         {
    162             setPosition((PPosition) newChild);
    163             return;
    164         }
    165 
    166         if(this._expression_ == oldChild)
    167         {
    168             setExpression((PExpression) newChild);
    169             return;
    170         }
    171 
    172         if(this._command_ == oldChild)
    173         {
    174             setCommand((PCommand) newChild);
    175             return;
    176         }
    177 
    178         throw new RuntimeException("Not a child.");
    179     }
    180 }
    181