/** * * This file is a part of ZOOLA - an extensible BeanShell implementation. * Zoola is based on original BeanShell code created by Pat Niemeyer. * * Original BeanShell code is Copyright (C) 2000 Pat Niemeyer <pat@pat.net>. * * New portions are Copyright 2012 Rafal Lewczuk <rafal.lewczuk@jitlogic.com> * * This is free software. You can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later * version. * * This software is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public License * along with ZOOLA. If not, see <http://www.gnu.org/licenses/>. * */ package bsh.ast; import bsh.*; /** Implement binary expressions... Note: this is too complicated... need some cleanup and simplification. @see bsh.Primitive */ public class BSHBinaryExpression extends SimpleNode implements ParserConstants { public int kind; public BSHBinaryExpression(int id) { super(id); } /* object is a non-null and non-void Primitive type */ public boolean isPrimitiveValue( Object obj ) { return ( (obj instanceof Primitive) && (obj != Primitive.VOID) && (obj != Primitive.NULL) ); } /* object is a java.lang wrapper for boolean, char, or number type */ public boolean isWrapper( Object obj ) { return ( obj instanceof Boolean || obj instanceof Character || obj instanceof Number ); } public <T> T accept(BshNodeVisitor<T> visitor) { return visitor.visit(this); } }