il.append(fact.createPop(fromType.getSize()));
il.append(InstructionFactory.createPop(fromType.getSize()));
    public static InstructionList createConversion(            InstructionFactory fact,            Type fromType,            Type toType) {        //System.out.println("cast to: " + toType);        InstructionList il = new InstructionList();        if (fromType.equals(toType))            return il;        if (toType.equals(Type.VOID)) {            il.append(fact.createPop(fromType.getSize()));            return il;        }        if (fromType.equals(Type.VOID)) {            if (toType instanceof BasicType)                 throw new BCException("attempting to cast from void to basic type");            il.append(fact.createNull(Type.OBJECT));            return il;        }        if (fromType.equals(Type.OBJECT)) {            if (toType instanceof BasicType) {                String name = toType.toString() + "Value";                il.append(                    fact.createInvoke(                        "org.aspectj.runtime.internal.Conversions",                        name,                        toType,                        new Type[] { Type.OBJECT },                        Constants.INVOKESTATIC));                return il;            }        }        if (toType.equals(Type.OBJECT)) {            if (fromType instanceof BasicType) {                String name = fromType.toString() + "Object";                il.append(                    fact.createInvoke(                        "org.aspectj.runtime.internal.Conversions",                        name,                        Type.OBJECT,                        new Type[] { fromType },                        Constants.INVOKESTATIC));                return il;            } else if (fromType instanceof ReferenceType) {                return il;            } else {                throw new RuntimeException();            }        }                if (fromType instanceof ReferenceType                 && ((ReferenceType)fromType).isAssignmentCompatibleWith(toType)) {            return il;        }        il.append(fact.createCast(fromType, toType));        return il;    }