Home | History | Annotate | Download | only in ast
      1 /*
      2  * Javassist, a Java-bytecode translator toolkit.
      3  * Copyright (C) 1999-2007 Shigeru Chiba. All Rights Reserved.
      4  *
      5  * The contents of this file are subject to the Mozilla Public License Version
      6  * 1.1 (the "License"); you may not use this file except in compliance with
      7  * the License.  Alternatively, the contents of this file may be used under
      8  * the terms of the GNU Lesser General Public License Version 2.1 or later.
      9  *
     10  * Software distributed under the License is distributed on an "AS IS" basis,
     11  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
     12  * for the specific language governing rights and limitations under the
     13  * License.
     14  */
     15 
     16 package javassist.compiler.ast;
     17 
     18 import javassist.compiler.CompileError;
     19 
     20 /**
     21  * Binary expression.
     22  *
     23  * <p>If the operator is +, the right node might be null.
     24  * See TypeChecker.atBinExpr().
     25  */
     26 public class BinExpr extends Expr {
     27     /* operator must be either of:
     28      * ||, &&, |, ^, &, ==, !=, <=, >=, <, >,
     29      * <<, >>, >>>, +, -, *, /, %
     30      */
     31 
     32     private BinExpr(int op, ASTree _head, ASTList _tail) {
     33         super(op, _head, _tail);
     34     }
     35 
     36     public static BinExpr makeBin(int op, ASTree oprand1, ASTree oprand2) {
     37         return new BinExpr(op, oprand1, new ASTList(oprand2));
     38     }
     39 
     40     public void accept(Visitor v) throws CompileError { v.atBinExpr(this); }
     41 }
     42