global.nextPhase(); if (thenpart.type.isSameAs(elsepart.type)) tree.setType(thenpart.type); else tree.setType(Type.lub(new Type[] {thenpart.type, elsepart.type})); global.prevPhase();
tree.setType(type);
    public If If(int pos, Tree cond, Tree thenpart, Tree elsepart) {	If tree = make.If(pos, cond, thenpart, elsepart);        global.nextPhase();        if (thenpart.type.isSameAs(elsepart.type))            tree.setType(thenpart.type);        else            tree.setType(Type.lub(new Type[] {thenpart.type, elsepart.type}));        global.prevPhase();        return tree;    }