001 package railo.transformer.bytecode.expression.var; 002 003 import railo.transformer.bytecode.expression.ExprString; 004 import railo.transformer.bytecode.literal.LitString; 005 import railo.transformer.library.function.FunctionLibFunction; 006 007 008 009 public final class BIF extends FunctionMember { 010 private static String ANY="any"; 011 012 private ExprString name; 013 private int argType; 014 private String className; 015 private String returnType=ANY; 016 private FunctionLibFunction flf; 017 018 019 020 public BIF(ExprString name, FunctionLibFunction flf) { 021 this.name=name; 022 this.flf=flf; 023 } 024 public BIF(String name, FunctionLibFunction flf) { 025 this.name=LitString.toExprString(name); 026 this.flf=flf; 027 } 028 029 public void setArgType(int argType) { 030 this.argType=argType; 031 } 032 033 public void setClassName(String className) { 034 this.className=className; 035 } 036 037 public void setReturnType(String returnType) { 038 this.returnType=returnType; 039 } 040 041 /** 042 * @return the argType 043 */ 044 public int getArgType() { 045 return argType; 046 } 047 048 /** 049 * @return the className 050 */ 051 public String getClassName() { 052 return className; 053 } 054 055 /** 056 * @return the name 057 */ 058 public ExprString getName() { 059 return name; 060 } 061 062 /** 063 * @return the returnType 064 */ 065 public String getReturnType() { 066 return returnType; 067 } 068 069 /** 070 * @return the flf 071 */ 072 public FunctionLibFunction getFlf() { 073 return flf; 074 } 075 076 /** 077 * @param flf the flf to set 078 */ 079 public void setFlf(FunctionLibFunction flf) { 080 this.flf = flf; 081 } 082 }