001 package railo.transformer.bytecode.statement.java; 002 003 import org.objectweb.asm.Type; 004 005 import railo.transformer.bytecode.BytecodeContext; 006 import railo.transformer.bytecode.BytecodeException; 007 import railo.transformer.bytecode.expression.ExpressionBase; 008 009 public class CastOp extends ExpressionBase { 010 011 private Object value; 012 private Class type; 013 private DataBag db; 014 015 public CastOp(int line, Object value, Class type, DataBag db) { 016 super(line); 017 this.value=value; 018 this.type=type; 019 this.db=db; 020 } 021 022 /** 023 * @see railo.transformer.bytecode.expression.ExpressionBase#_writeOut(railo.transformer.bytecode.BytecodeContext, int) 024 */ 025 public Type _writeOut(BytecodeContext bc, int mode) throws BytecodeException { 026 Type to = Type.getType(type); 027 028 Assign.writeOut(db, bc, to, mode, value, getLine(),true); 029 return to; 030 } 031 032 }