代码优化

当前状态:实现层草案。本文主要记录未来可能采用的编译器优化方向,不代表当前已经承诺的语言语义或实现行为。 若与语言级规则发生冲突,应以主规范文档为准。

常量折叠

语义分析器会进行常量折叠,优化常量表达式:

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";
}