CFLint icon indicating copy to clipboard operation
CFLint copied to clipboard

Add support for static accessor operator (`::`)

Open cybersonic opened this issue 4 years ago • 3 comments

Lucee allows the ability to have static functions in components, i.e. calling a function without having to instantiate the Component itself (see https://docs.lucee.org/guides/cookbooks/StaticScope.html )

The syntax breaks CFLint parsing and brings false positives in parsing:

<cfscript>
isValid = com.domain.services.Service::isUserValid(userid);
</cfscript>

This throws a: Critical: End of statement(;) expected after Service

error

cybersonic avatar Jan 27 '21 16:01 cybersonic

This is also supported as of ColdFusion 2021, so no longer Lucee-exclusive.

https://helpx.adobe.com/coldfusion/developing-applications/building-blocks-of-coldfusion-applications/building-and-using-coldfusion-components/cfc-variables-and-scope.ug.html#static-support

KamasamaK avatar Jan 27 '21 17:01 KamasamaK

Cool, so it is not just Lucee then. Great!

cybersonic avatar Jan 27 '21 18:01 cybersonic

The latest Lucee 5.3.8 also supports calling static functions via dot syntax https://luceeserver.atlassian.net/browse/LDEV-3334

zspitzer avatar Mar 10 '21 13:03 zspitzer