You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "stephen mallette (JIRA)" <ji...@apache.org> on 2018/04/24 14:48:00 UTC
[jira] [Closed] (TINKERPOP-1579) Resolve naming collisions for
static imports in the Gremlin language
[ https://issues.apache.org/jira/browse/TINKERPOP-1579?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
stephen mallette closed TINKERPOP-1579.
---------------------------------------
Resolution: Won't Do
After a fair bit of thought, I don't think there's much we can do here. The names are the names at this point and in many of these cases there isn't a way to really make them unique in a way where they remain logical. The workaround is to simply use the class/enum name to differentiate.
> Resolve naming collisions for static imports in the Gremlin language
> --------------------------------------------------------------------
>
> Key: TINKERPOP-1579
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1579
> Project: TinkerPop
> Issue Type: Improvement
> Components: process
> Affects Versions: 3.2.3
> Reporter: stephen mallette
> Priority: Major
>
> This may not be a breaking change - it can likely be done with deprecation along the 3.2.x line. The problem is that static imports collide in the {{GremlinScriptEngine}} and therefore there are not only situations where certain imports will be "hidden" but it can cause the system behave in non-deterministic fashion depending on the {{ScriptEngine}}. For example, groovy's compiler seems to only be able to detect the difference between {{Column.values}} and {{__.values()}} if wildcards are used. If they are imported directly then one of the other will fail.
> Here's a list of the troublemaker names that collide across different methods/enums: or,and,id,values,key,local,value,sum,min,max.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)