modify expression's type and constant method