获取运行时ColdFusion语法树?

获取运行时ColdFusion语法树?,coldfusion,metaprogramming,coldfusion-11,Coldfusion,Metaprogramming,Coldfusion 11,是否可以在运行时访问/修改ColdFusion语法树 我打赌不会,10分钟的谷歌搜索什么也没找到。在处理闭包和写入元数据转储时,我们可以看到对象的字符串化版本,例如[runtime expression],如下所示: function x(a=b+1) {} WriteDump(getMetaData(x).parameters[1]["default"]); 它是否允许我们不深入这一点,或者可能有人知道如何继续挖掘并开始遍历树?默认UDF参数表达式在函数元数据中不可用,正如您所发现的那样。其

是否可以在运行时访问/修改ColdFusion语法树

我打赌不会,10分钟的谷歌搜索什么也没找到。在处理闭包和写入元数据转储时,我们可以看到对象的字符串化版本,例如[runtime expression],如下所示:

function x(a=b+1) {}
WriteDump(getMetaData(x).parameters[1]["default"]);

它是否允许我们不深入这一点,或者可能有人知道如何继续挖掘并开始遍历树?

默认UDF参数表达式在函数元数据中不可用,正如您所发现的那样。其他实现了某种形式的CFML解析器的库有

用Java编写并使用ANTLR的CFLint

CFFormat还使用从Rust编译的二进制文件

函数LineNums纯CFML


默认UDF参数表达式在函数元数据中不可用。其他实现了某种形式的CFML解析器的库有

用Java编写并使用ANTLR的CFLint

CFFormat还使用从Rust编译的二进制文件

函数LineNums纯CFML


还有一个函数callStackGet docs:它可能对您尝试执行的任何操作都很有用


这里还有另一个用CFML编写的CFML解析器:

还有一个函数callStackGet docs:它可能对您尝试执行的任何操作都很有用


这里还有一个用CFML编写的CFML解析器:

可能不使用内部类。用例是什么?您可以在Lucee代码库中查找:。Lucee是开源的CFML引擎,也是我个人的喜好。可能不需要使用内部类。用例是什么?您可以在Lucee代码库中查找:。Lucee是开源CFML引擎,也是我个人的偏好。谢谢,CFLint及其依赖项CFParser看起来很有前途。谢谢,CFLint及其依赖项CFParser看起来很有前途。