Save This Page
Home » openjdk-7 » net.nosica » compiler » parser » node » typedeclaration » expression » [javadoc | source]
    1   /*
    2   $Id: StreamExpressionImpl.java,v 1.3 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   import net.nosica.compiler.parser.node.util.operator.Operator;
   27   
   28   public class StreamExpressionImpl extends AbstractNode implements StreamExpression
   29   {
   30     private PrimaryExpression stream = null;
   31     private Expression right = null;
   32     private StreamExpression next = null;
   33     private Operator op = null;
   34   
   35     public StreamExpressionImpl(PrimaryExpression primaryExp)
   36     {
   37       super();
   38       stream = primaryExp;
   39     }
   40   
   41     public StreamExpressionImpl(Expression exp)
   42     {
   43       super();
   44       right = exp;
   45     }
   46   
   47     public void setOp(Operator op) { this.op = op; }
   48   
   49     public Operator getOp() { return op; }
   50   
   51     public void setNextOperand(StreamExpression streamExp) { next = streamExp; }
   52   
   53     public boolean isStream() {return stream != null;}
   54     public PrimaryExpression getStream() {return stream;}
   55     public boolean isRightOperand() {return right != null;}
   56     public Expression getRightOperand() {return right;}
   57     public boolean hasNext() {return next != null;}
   58     public StreamExpression getNext() {return next;}
   59   
   60     public void accept(Visitor visitor)
   61     {
   62       ((NodeVisitor)visitor).visit(this, true);
   63     }
   64   
   65     public void browse(Visitor visitor)
   66     {
   67       accept(visitor);
   68   
   69       if (stream != null)
   70         stream.browse(visitor);
   71       if (right != null)
   72         right.browse(visitor);
   73       if (next != null)
   74         next.browse(visitor);
   75   
   76       ((NodeVisitor)visitor).visit(this, false);
   77     }
   78   }

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