Status/Resolution/Reason: To Test//Fixed
Reporter/Name(from Bugbase): John Whish / John Whish (John Whish)
Created: 09/08/2016
Components: Core Runtime
Versions: 2016
Failure Type: Non Functioning
Found In Build/Fixed In Build: CF2016_Update1 /
Priority/Frequency: Major / Some users will encounter
Locale/System: ALL / Mac OS 9.04
Vote Count: 4
Problem Description:
The parser / compiler falsely indentifies methods as operators.
Steps to Reproduce:
{code:java}
<cfscript>
function filter() {
    return {
        "gte": function (n) {
            return n;
        }
    };
}
// compiler errors on this line...
// filter().gte(1);
</cfscript>
{code}
In the above example the `filter().gte(1);` errors on compilation. This is a problem as some java libraries expose methods that have the same method names as the CF operators - for example ElasticSearch uses `gt` `gte` `lt` and `lte` methods for the range filter.
Actual Result:
Errors on compilation
Expected Result:
The parser should be able to disguish when it is a method being called (operator immediatley preceded by a '.')
Any Workarounds:
Not in the case of interacting with Java objects. If just in CFML then rename the methods.
----------------------------- Additional Watson Details -----------------------------
Watson Bug ID:	4187705
External Customer Info:
External Company:  
External Customer Name: John Whish
External Customer Email:  
External Test Config: My Hardware and Environment details:
  Attachments:
Comments: