我正在编写一个实用程序,它将解析CF代码并识别在编写测试时需要模拟的函数。为了使"应该被嘲笑" list不包括我需要能够识别它们的本机CF函数。
我宁愿不维护要检查的本机函数列表。到目前为止我唯一提出的解决方案是使用getMetaData
并仅包含该方法找到的内容。这是非常少的代码,肯定会有效,但我想知道是否有一个更简单的方法,而且开销更低。
示例:
<cffunction name="foo">
<cfset LTrim(" spaces!") />
<cfset myFunction(42) />
</cffunction>
我在这里解析并查看LTrim
和myFunction
,并想知道每个人是否是同一组件中的原生CF或UDF。
答案 0 :(得分:14)
您可以使用getFunctionList()它返回一个结构,其中每个键都是引擎支持的内置函数的名称。自CF4.5以来一直存在,并且也在Railo / Lucee上工作。