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 BinExpr(int op, ASTree _head, ASTList _tail)32 private BinExpr(int op, ASTree _head, ASTList _tail) { 33 super(op, _head, _tail); 34 } 35 makeBin(int op, ASTree oprand1, ASTree oprand2)36 public static BinExpr makeBin(int op, ASTree oprand1, ASTree oprand2) { 37 return new BinExpr(op, oprand1, new ASTList(oprand2)); 38 } 39 accept(Visitor v)40 public void accept(Visitor v) throws CompileError { v.atBinExpr(this); } 41 } 42