public void visit(CastTypeConversion castTypeConversion) { cast(castTypeConversion.getType(), comment); } });
public TypeConversion getTypeConversion(Type from, Type to) { if (to.equals(from)) { return TypeConversion.NONE; } if (from.isPrimitive() && !to.isPrimitive()) { return new BoxingTypeConversion((PrimitiveType) from); } else if (!from.isPrimitive() && to.isPrimitive()) { return new UnboxingTypeConversion((PrimitiveType) to); } else if (!from.isPrimitive() && !to.isPrimitive()) { if (to.isAssignableFrom(from)) { return TypeConversion.NONE; } else { return new CastTypeConversion(to); } } else { // TODO: add cast in between primitives throw new UnsupportedOperationException("TODO: convert " + from + " to " + to); } }