Save This Page
Home » openjdk-7 » net.nosica » compiler » parser » node » typedeclaration » expression » [javadoc | source]
    1   /*
    2   $Id: ConditionalExpressionImpl.java,v 1.6 2001/11/30 15:17:27 djobet Exp $
    3   Copyright 2001 David Jobet (david.jobet@free.fr) and Eric Nicolas (enicolas@dvdfr.com)
    4   This file is part of Nosica, a compiler for the Nosica language
    5   
    6       Nosica is free software; you can redistribute it and/or modify
    7       it under the terms of the GNU General Public License as published by
    8       the Free Software Foundation; either version 2 of the License, or
    9       (at your option) any later version.
   10   
   11       Nosica is distributed in the hope that it will be useful,
   12       but WITHOUT ANY WARRANTY; without even the implied warranty of
   13       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   14       GNU General Public License for more details.
   15   
   16       You should have received a copy of the GNU General Public License
   17       along with Nosica; if not, write to the Free Software
   18       Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   19   */
   20   
   21   package net.nosica.compiler.parser.node.typedeclaration.expression;
   22   
   23   import net.nosica.compiler.framework.Visitor;
   24   import net.nosica.compiler.parser.node.AbstractNode;
   25   import net.nosica.compiler.parser.node.NodeVisitor;
   26   
   27   public class ConditionalExpressionImpl extends AbstractNode implements ConditionalExpression
   28   {
   29     private ConditionalOrExpression lhs;
   30     private Expression mhs;
   31     private ConditionalExpression rhs;
   32   
   33     public ConditionalExpressionImpl(
   34                                       ConditionalOrExpression lhs,
   35                                       Expression mhs,
   36                                       ConditionalExpression rhs
   37                                     )
   38     {
   39       super();
   40       this.lhs = lhs;
   41       this.mhs = mhs;
   42       this.rhs = rhs;
   43     }
   44   
   45     public ConditionalOrExpression getCondition()
   46     {
   47       return lhs;
   48     }
   49   
   50     public boolean hasExpressions()
   51     {
   52       return mhs!=null;
   53     }
   54   
   55     public Expression getTrueExpression()
   56     {
   57       return mhs;
   58     }
   59   
   60     public ConditionalExpression getFalseExpression()
   61     {
   62       return rhs;
   63     }
   64   
   65     public void accept(Visitor visitor)
   66     {
   67       ((NodeVisitor)visitor).visit(this, true);
   68     }
   69   
   70     public void browse(Visitor visitor)
   71     {
   72       accept(visitor);
   73   
   74       lhs.browse(visitor);
   75       if (mhs != null)
   76       {
   77         mhs.browse(visitor);
   78         rhs.browse(visitor);
   79       }
   80   
   81       ((NodeVisitor)visitor).visit(this, false);
   82     }
   83   
   84   
   85   }

Save This Page
Home » openjdk-7 » net.nosica » compiler » parser » node » typedeclaration » expression » [javadoc | source]