001    package railo.transformer.cfml.evaluator.func.impl;
002    
003    import railo.runtime.exp.TemplateException;
004    import railo.transformer.bytecode.expression.ExprString;
005    import railo.transformer.bytecode.expression.Expression;
006    import railo.transformer.bytecode.expression.var.Argument;
007    import railo.transformer.bytecode.expression.var.BIF;
008    import railo.transformer.bytecode.expression.var.Variable;
009    import railo.transformer.bytecode.expression.var.VariableString;
010    import railo.transformer.cfml.evaluator.FunctionEvaluator;
011    import railo.transformer.library.function.FunctionLibFunction;
012    
013    public class IsNull implements FunctionEvaluator{
014    
015            public void evaluate(BIF bif, FunctionLibFunction flf) throws TemplateException {
016                    Argument arg = bif.getArguments()[0];
017                    Expression value = arg.getValue();
018                    if(value instanceof Variable){
019                            try{
020                                    ExprString exprStr=VariableString.translateVariableToExprString(value);
021                                    arg.setValue(exprStr,String.class.getName());
022                            }
023                            catch(Throwable t){
024                                    
025                            }
026                    }
027            }
028    
029    }