MCFPP
MCFPP copied to clipboard
🐛 Bug Report: 生成的函数路径错误
描述
生成的数据包函数调用存在错误
复现步骤
- 创建以下 MCFPP 代码:
# example.mcfpp
func foo() -> int{
/say hello world
}
func hello {
foo();
}
- 编译生成对应的函数文件
期望行为
生成如下指令
data modify storage mcfpp:system stack_frame prepend value {}
#expression: foo()
#foo()
#[Function mcfpp.:foo_0] Store vars into the Stack
data modify storage mcfpp:system stack_frame prepend value {}
function mcfpp:foo
data remove storage mcfpp:system stack_frame[0]
#[Function mcfpp.:foo_0] Take vars out of the Stack
#expression end: foo()
data remove storage mcfpp:system stack_frame[0]
实际行为
生成的函数调用为function mcfpp.:foo_0
命名空间与函数名处出现一个.
且,生成的foo函数为datapacks\example\data\mcfpp\function\foo.mcfunction
但是调用却为foo_0
data modify storage mcfpp:system stack_frame prepend value {}
#expression: foo()
#foo()
#[Function mcfpp.:foo_0] Store vars into the Stack
data modify storage mcfpp:system stack_frame prepend value {}
function mcfpp.:foo_0
data remove storage mcfpp:system stack_frame[0]
#[Function mcfpp.:foo_0] Take vars out of the Stack
#expression end: foo()
data remove storage mcfpp:system stack_frame[0]
~~42~~