代码优化
当前状态:实现层草案。本文主要记录未来可能采用的编译器优化方向,不代表当前已经承诺的语言语义或实现行为。
若与语言级规则发生冲突,应以主规范文档为准。
常量折叠
语义分析器会进行常量折叠,优化常量表达式:
let x = 1 + 2; // 折叠为 3
let y = 3 * 4; // 折叠为 12
let z = true && false; // 折叠为 false
死代码检测
语义分析器会检测死代码:
if false {
println("never executed"); // 警告:死代码
}
return;
println("never executed"); // 警告:死代码
未使用代码检测
语义分析器会检测未使用的代码:
未使用的变量
let x = 1; // 警告:未使用的变量
未使用的函数
func helper() -> string { // 警告:未使用的函数
return "hello";
}