package railo.transformer.bytecode.literal; import org.objectweb.asm.Type; import railo.runtime.type.scope.Scope; import railo.transformer.bytecode.BytecodeContext; import railo.transformer.bytecode.BytecodeException; import railo.transformer.bytecode.Position; import railo.transformer.bytecode.expression.ExpressionBase; import railo.transformer.bytecode.expression.var.DataMember; import railo.transformer.bytecode.expression.var.Variable; import railo.transformer.bytecode.util.ASMConstants; import railo.transformer.bytecode.util.Types; public class Null extends ExpressionBase { public Null(Position start, Position end) { super(start, end); } @Override public Type _writeOut(BytecodeContext bc, int mode) throws BytecodeException { ASMConstants.NULL(bc.getAdapter()); return Types.OBJECT; } public Variable toVariable() { Variable v = new Variable(Scope.SCOPE_UNDEFINED,getStart(),getEnd()); v.addMember(new DataMember(LitString.toExprString("null"))); return v; } }