22 lines
1.0 KiB
Plaintext
22 lines
1.0 KiB
Plaintext
// compiler/tests/pipeline.rs 将此文件作为模块编译,加载后由测试调用 main,检查前向全局函数查找。
|
|
// The callee is declared after main. Parameters, locals and calls use wordcode.
|
|
// 模块入口由宿主/测试在模块执行完成后调用;先 echo,再把局部结果交给 relay。
|
|
function main(): String {
|
|
// 直接调用后面声明的 echo,返回值写入当前帧的 message 局部槽。
|
|
let message = echo("函数调用已接通")
|
|
// 将局部值作为实参传给 relay,返回其结果给宿主。
|
|
return relay(message)
|
|
}
|
|
|
|
// main 调用的中转函数;value 是当前帧参数槽,继续调用全局 echo。
|
|
function relay(value: String): String {
|
|
// 普通函数调用逐层返回相同字符串,验证嵌套调用的参数传递与返回。
|
|
return echo(value)
|
|
}
|
|
|
|
// main 和 relay 共用的恒等函数,参数值直接成为调用结果。
|
|
function echo(value: String): String {
|
|
// 无额外转换,直接把参数值交给调用者。
|
|
return value
|
|
}
|