support cast in clang and expression visitors