MCFPP icon indicating copy to clipboard operation
MCFPP copied to clipboard

🐛 Bug Report: 生成的函数路径错误

Open 771835 opened this issue 4 months ago • 0 comments

描述

生成的数据包函数调用存在错误

复现步骤

  1. 创建以下 MCFPP 代码:
# example.mcfpp
func foo() -> int{
    /say hello world
}

func hello {
    foo();
}
  1. 编译生成对应的函数文件

期望行为

生成如下指令

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~~

771835 avatar Aug 21 '25 13:08 771835