001/** 002 * 003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved. 004 * 005 * This library is free software; you can redistribute it and/or 006 * modify it under the terms of the GNU Lesser General Public 007 * License as published by the Free Software Foundation; either 008 * version 2.1 of the License, or (at your option) any later version. 009 * 010 * This library is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 013 * Lesser General Public License for more details. 014 * 015 * You should have received a copy of the GNU Lesser General Public 016 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 017 * 018 **/ 019package lucee.transformer.bytecode.expression.var; 020 021 022public abstract class FunctionMember implements Member{ 023 private Argument[] arguments=new Argument[0]; 024 private boolean _hasNamedArgs; 025 026 public void addArgument(Argument argument) { 027 if(argument instanceof NamedArgument)_hasNamedArgs=true; 028 Argument[] tmp=new Argument[arguments.length+1]; 029 for(int i=0;i<arguments.length;i++){ 030 tmp[i]=arguments[i]; 031 } 032 tmp[arguments.length]=argument; 033 arguments=tmp; 034 } 035 036 /** 037 * @return the arguments 038 */ 039 public Argument[] getArguments() { 040 return arguments; 041 } 042 public void setArguments(Argument[] arguments) { 043 this.arguments= arguments; 044 } 045 046 047 public boolean hasNamedArgs() { 048 return _hasNamedArgs; 049 } 050 051}