Main Page   Packages   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

AAssertaction.java

00001 package edu.ksu.cis.bandera.birp.node;
00002 
00003 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
00004  * Bandera, a Java(TM) analysis and transformation toolkit           *
00005  * Copyright (C) 1998-2001 SAnToS Laboratories (santos@cis.ksu.edu)  *
00006 
00007  * All rights reserved.                                              *
00008  *                                                                   *
00009  * This work was done as a project in the SAnToS Laboratory,         *
00010  * Department of Computing and Information Sciences, Kansas State    *
00011  * University, USA (http://www.cis.ksu.edu/santos).                  *
00012  * It is understood that any modification not identified as such is  *
00013  * not covered by the preceding statement.                           *
00014  *                                                                   *
00015  * This work is free software; you can redistribute it and/or        *
00016  * modify it under the terms of the GNU Library General Public       *
00017  * License as published by the Free Software Foundation; either      *
00018  * version 2 of the License, or (at your option) any later version.  *
00019  *                                                                   *
00020  * This work is distributed in the hope that it will be useful,      *
00021  * but WITHOUT ANY WARRANTY; without even the implied warranty of    *
00022  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU *
00023  * Library General Public License for more details.                  *
00024  *                                                                   *
00025  * You should have received a copy of the GNU Library General Public *
00026  * License along with this toolkit; if not, write to the             *
00027  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,      *
00028  * Boston, MA  02111-1307, USA.                                      *
00029  *                                                                   *
00030  * Java is a trademark of Sun Microsystems, Inc.                     *
00031  *                                                                   *
00032  * To submit a bug report, send a comment, or get the latest news on *
00033  * this project and other SAnToS projects, please visit the web-site *
00034  *                http://www.cis.ksu.edu/santos                      *
00035  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
00036 import ca.mcgill.sable.util.*;
00037 import edu.ksu.cis.bandera.birp.analysis.*;
00038 
00039 public final class AAssertaction extends PAssertaction
00040 {
00041     private TAssert _assert_;
00042     private TLparen _lparen_;
00043     private PExpr _expr_;
00044     private TRparen _rparen_;
00045     private TSemicolon _semicolon_;
00046 
00047     public AAssertaction()
00048     {
00049     }
00050     public AAssertaction(
00051         TAssert _assert_,
00052         TLparen _lparen_,
00053         PExpr _expr_,
00054         TRparen _rparen_,
00055         TSemicolon _semicolon_)
00056     {
00057         setAssert(_assert_);
00058 
00059         setLparen(_lparen_);
00060 
00061         setExpr(_expr_);
00062 
00063         setRparen(_rparen_);
00064 
00065         setSemicolon(_semicolon_);
00066 
00067     }
00068     public void apply(Switch sw)
00069     {
00070         ((Analysis) sw).caseAAssertaction(this);
00071     }
00072     public Object clone()
00073     {
00074         return new AAssertaction(
00075             (TAssert) cloneNode(_assert_),
00076             (TLparen) cloneNode(_lparen_),
00077             (PExpr) cloneNode(_expr_),
00078             (TRparen) cloneNode(_rparen_),
00079             (TSemicolon) cloneNode(_semicolon_));
00080     }
00081     public TAssert getAssert()
00082     {
00083         return _assert_;
00084     }
00085     public PExpr getExpr()
00086     {
00087         return _expr_;
00088     }
00089     public TLparen getLparen()
00090     {
00091         return _lparen_;
00092     }
00093     public TRparen getRparen()
00094     {
00095         return _rparen_;
00096     }
00097     public TSemicolon getSemicolon()
00098     {
00099         return _semicolon_;
00100     }
00101     void removeChild(Node child)
00102     {
00103         if(_assert_ == child)
00104         {
00105             _assert_ = null;
00106             return;
00107         }
00108 
00109         if(_lparen_ == child)
00110         {
00111             _lparen_ = null;
00112             return;
00113         }
00114 
00115         if(_expr_ == child)
00116         {
00117             _expr_ = null;
00118             return;
00119         }
00120 
00121         if(_rparen_ == child)
00122         {
00123             _rparen_ = null;
00124             return;
00125         }
00126 
00127         if(_semicolon_ == child)
00128         {
00129             _semicolon_ = null;
00130             return;
00131         }
00132 
00133     }
00134     void replaceChild(Node oldChild, Node newChild)
00135     {
00136         if(_assert_ == oldChild)
00137         {
00138             setAssert((TAssert) newChild);
00139             return;
00140         }
00141 
00142         if(_lparen_ == oldChild)
00143         {
00144             setLparen((TLparen) newChild);
00145             return;
00146         }
00147 
00148         if(_expr_ == oldChild)
00149         {
00150             setExpr((PExpr) newChild);
00151             return;
00152         }
00153 
00154         if(_rparen_ == oldChild)
00155         {
00156             setRparen((TRparen) newChild);
00157             return;
00158         }
00159 
00160         if(_semicolon_ == oldChild)
00161         {
00162             setSemicolon((TSemicolon) newChild);
00163             return;
00164         }
00165 
00166     }
00167     public void setAssert(TAssert node)
00168     {
00169         if(_assert_ != null)
00170         {
00171             _assert_.parent(null);
00172         }
00173 
00174         if(node != null)
00175         {
00176             if(node.parent() != null)
00177             {
00178                 node.parent().removeChild(node);
00179             }
00180 
00181             node.parent(this);
00182         }
00183 
00184         _assert_ = node;
00185     }
00186     public void setExpr(PExpr node)
00187     {
00188         if(_expr_ != null)
00189         {
00190             _expr_.parent(null);
00191         }
00192 
00193         if(node != null)
00194         {
00195             if(node.parent() != null)
00196             {
00197                 node.parent().removeChild(node);
00198             }
00199 
00200             node.parent(this);
00201         }
00202 
00203         _expr_ = node;
00204     }
00205     public void setLparen(TLparen node)
00206     {
00207         if(_lparen_ != null)
00208         {
00209             _lparen_.parent(null);
00210         }
00211 
00212         if(node != null)
00213         {
00214             if(node.parent() != null)
00215             {
00216                 node.parent().removeChild(node);
00217             }
00218 
00219             node.parent(this);
00220         }
00221 
00222         _lparen_ = node;
00223     }
00224     public void setRparen(TRparen node)
00225     {
00226         if(_rparen_ != null)
00227         {
00228             _rparen_.parent(null);
00229         }
00230 
00231         if(node != null)
00232         {
00233             if(node.parent() != null)
00234             {
00235                 node.parent().removeChild(node);
00236             }
00237 
00238             node.parent(this);
00239         }
00240 
00241         _rparen_ = node;
00242     }
00243     public void setSemicolon(TSemicolon node)
00244     {
00245         if(_semicolon_ != null)
00246         {
00247             _semicolon_.parent(null);
00248         }
00249 
00250         if(node != null)
00251         {
00252             if(node.parent() != null)
00253             {
00254                 node.parent().removeChild(node);
00255             }
00256 
00257             node.parent(this);
00258         }
00259 
00260         _semicolon_ = node;
00261     }
00262     public String toString()
00263     {
00264         return ""
00265             + toString(_assert_)
00266             + toString(_lparen_)
00267             + toString(_expr_)
00268             + toString(_rparen_)
00269             + toString(_semicolon_);
00270     }
00271 }

Generated at Thu Feb 7 06:35:47 2002 for Bandera by doxygen1.2.10 written by Dimitri van Heesch, © 1997-2001