控制流收窄 Control-flow narrowing

编译器根据检查、赋值和控制流终止,在可达路径中把变量类型缩小到更具体的范围。